Eclipse/MyEclipse报错Access restriction: The type ‘BASE64Decoder‘ is not API
文章目录
1 报错:Access restriction: The type ‘BASE64Decoder‘ is not API
svn
更新代码之后,由于代码中使用了BASE64Encoder
import sun.misc.BASE64Encoder; BASE64Encoder encoder = new BASE64Encoder();
更新之后报如下错误:
Access restriction: The type ‘BASE64Decoder’ is not API (restriction on required library ‘D:\java\jdk1.7.0_45\jre\lib\rt.jar’)
有如下两个解决方法:第一种方法是直接替换JRE System Library
,第二种方法是在修改这个包的访问权限
1.1 方法一先移除再添加
方法:项目右键–>Properties–>Java Build Path
,切换到libraries tab
页,找到JRE System Library
移除, 然后再点击Add Library–>JRE System Library
添加即可
先移除,如下
在添加,如下:
1.2 方法二修改Access Rules
主要操作步骤:项目右键–>Properties–>Java Build Path
,切换到libraries tab
页,找到JRE System Library
JRE System Library—>Access Rules-->Edit
选中Add
,resolution
选择accessible
,下面填上**
点击确定即可
这样就可以解决问题了
转载于:https://blog.csdn.net/gnail_oug/article/details/53636428
https://jingyan.baidu.com/article/e73e26c0a2617a24adb6a7d4.html
1.3 方法三修改警告
Windows -> Preferences -> Java -> Compiler -> Errors/Warnings ->
Deprecated and trstricted API -> Forbidden reference (access rules): -> change to warning
2 myeclipse报错:Could not open the editor; Invalid thread access
myeclipse报错:Could not open the editor: Invalid thread access
Myeclipse然打开什么东西都报错了:
Could not open the editor: Invalid thread access
解决方法是:
- cmd
- cd 进入你的Myeclipse安装目录 :
E:\MyEclipse8.5>
- 执行命令
-clean
比如:安装目录下有myeclipse.exe
则执行:myeclipse.exe -clean
3 Could not find the main class
3.1 Eclipse出现
异常原因:使用Eclipse
工具新建一个名为MyProj的java工程,并在其中创建一个简单的java类进行运行测试时,Eclipse
抛出名为Could not find the main class.Program will exit.
的异常。
核查原因:本机上存在多个JDK版本(即:1.4和1.5两个版本),由于MyProj的默认JDK版本与Eclipse工具使用的JDK版本不一致,所以产生如上异常。
解决办法:使MyProj默认的JDK版本与Eclipse工具使用的JDK版本保持一致即可。具体处理方式如下。
- 首先核查
Eclipse
使用的JDK版本 :Window --> Preferences --> Java --> Installed JREs
。在右侧的Installed JREs
窗口中查看当前使用的JDK版本(本机设置的是JDK1.4)。 - 鼠标点击MyProj工程,使鼠标聚焦在该工程上,然后点击菜单栏
Project --> Properties --> Java Compiler
。在其右侧的JDK Compliance
中,查看Compiler compliance level
中的JDK版本是否与上面查看的JDK版本一致,若不一致,使其保持一致即可(本机中该工程默认的版本为5.0,将其版本号修改为1.4即可)。
注:若该栏为死灰色无法编辑,请点击上面的名为Enable project specific settings
复选框即可进行JDK
版本的修改
3.2 MyEclipse出现
3.2.1 问题发现
打开myeclipse
,随便运行一个类(run as java application
),居然弹出Could not find the main class.Program will exit.
按照以往的经验,做如下检查:
- 编译环境检查
window->preferences->installed JREs
- 编译级别检查
右击工程名->properties->java compiler
- 编译路径检查
右击工程名->build path->coufiguration build path
- 执行clean
project->clean
3.2.2 问题解决
按照上面的检查后发现,没有任何问题,并且在同一个workspace中的工程里的class都能正常运行。
看来跟该工程的相关设置文件有关了(例如.classpath,.mymetadata,.mymetadata
),于是乎将工程拷贝一份重新建立了一个新工程,并进行了比对,果然发现了问题:
.classpath
文件跟新建的工程中的不同,但是,将新建的工程中的.classpath
覆盖原工程中的.classpath
后,问题依旧
最后查看了run configurations
的java application
中发现有很多原来运行的类,全部删除,重新运行居然
总结:遇到此类问题,请首先查看运行环境的配置(如jre,classpath,complie level等),执行clean操作,删除之前的run configurations中的java application中的记录,实在不行就只好重新建立工程了。毕竟像
myeclipse(eclipse)这种工具总会出现这样那样的问题,有些确实很难找到根源,只能绕道解决了
4 Error starting MyEclipse Tomcat server
在MyEclipse 10.6中启动Tomcat的时候出现该提示,说明Tomcat JDK
配置有误
解决方法:
在MyEclipse
的菜单找到Window -> Preferences -> MyEclipse -> Servers -> Tomcat -> Tomcat相应版本 -> JDK
,然后下拉菜单里选上对应的JDK(非JRE)版本