How to Fix Access restriction: The type BASE64Decoder is not accessible due to restriction Error in Eclipse? [Solution]

Hello guys, if you have been using Eclipse for Java development then you might have seen this dreaded  "Access restriction: The type BASE64Decoder is not accessible due to restriction Error" before. This error comes when you are trying to encode String into Base64 using BASE64Decoder in Eclipse because the class BASE64Decoder is not part of JDK's public API, it comes from sun.misc package which is non-public. Though this class is present in JDK and JRE and allows you to encode and decode String into base 64, any access to this class from Eclipse flags as an error in Eclipse IDE. If you compile and run the same program from the command line or NetBeans you will not get this error.

Eclipse and NetBeans Keyboard Shortcuts for Java Programmers - Example

If you are a Java developer who has been using Eclipse for Java development, but you need to use Netbeans for your current project for various reasons, this article is for you. Whenever we transition between tools, we need the equivalent of one into other. For example, if you are an Eclipse power user who is used to Ctrl + Shift + R and Ctrl + Shift + T, you miss those as soon as you start using Netbeans shortcuts. One thing to keep your productivity up is to quickly find the equivalent shortcut in a new tool, like, Netbeans if you are switching from Eclipse or vice-versa.

How to Fix Unsupported major.minor version 60.0, 59.0, 58.0, 57.0, 56.0, 55.0, 54, 0, 53.0, 52.00, 51.0 Error in Eclipse & Java

The UnsupportedClassVersionError is a big nightmare for Java developers, probably the next biggest after NoClassDefFoundError and ClassNotFoundException but it's slightly easier to solve. The root cause of this error is that your code is compiled using a higher JDK version and you are trying to run it on the lower version. For example, the Unsupported major.minor version 53.0 means your code is compiled in JDK 9 (the class version 52 corresponds to JDK 9) and you are trying to run it on any JRE lower than Java 9, probably JDK 8, 7, or 6.