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
在这里插入图片描述

选中Addresolution选择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
在这里插入图片描述

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

解决方法是:

  1. cmd
  2. cd 进入你的Myeclipse安装目录 : E:\MyEclipse8.5>
  3. 执行命令 -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 configurationsjava 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)版本
在这里插入图片描述

posted @ 2022-07-26 21:12  信铁寒胜  阅读(161)  评论(0编辑  收藏  举报