zoukankan      html  css  js  c++  java
  • eclipse常见问题整理

    错误信息:Access restriction: the type * is not accessible due to restriction on required library *.jar

                  Access restriction:The method * is not accessible due to restriction on required library *.jar

    Eclipse环境下,项目中导入某些JAR,使用这些JAR中的某些API。结果出现Access restriction错误

    Access restriction的原因是因为这些JAR默认包含了一系列的代码访问规则(Access Rules),如果代码中引用了这些访问规则所禁止引用类,可能是标记弃用或者其他访问权限问题,那么就会提示这个错误信息。

    一、既然存在访问规则,那么修改访问规则即可。打开项目的Build Path Configuration页面,展开报错的JAR包或者目录,选中Access rules条目,选择右侧的编辑按钮,添加一个访问规则即可。 也可以:

    [Project] -> Properties -> Java Build Path -> Libraries -> Remove JRE System Library

      Add Library -> JRE System Library -> Click OK

    二、网上的另外一种解决方案:Window - preference - Java - Compiler - Errors/Warnings界面的Deprecated and restricted API下。把Forbidden reference (access rules): 的规则由默认的Error改为Warning。

    这种方案是修改整个Eclipse开发环境,将所有禁止访问的引用由原来的Error(默认)修改为Warning。这种规避方式比较粗暴,个人支持第一种方案。

    列编辑快捷键:Alt+Shift+a

    快速导入包:ctrl+shift+o

    可视化插件:http://www.eclipse.org/windowbuilder/download.php

    动态获取当前项目绝对路径:

    1.鼠标选中项目,右击菜单,选择 properties
    2.出来弹出框,选择resource,location 的值就是你想要的项目绝对路径

    Eclipse插件开发 添加第三方引用  NoClassDefFoundError:

    1. 插件引用第三方包(普通的jar包或者类文件,不是插件)。

    a)  开发环境引用配置,在prject -> properties -> Java build path中设置。

    b)  运行环境引用配置,在plugin manifest编辑器的Runtime选项卡下的classpath中添加tset.jar包的引用(在MANIFEST.MF中表现为Bundle-ClassPath: lib/test.jar,如果manifest则在plugin.xml表现为<runtime>节下的引用)

     c)  plugin.xml -> Build -> Binary Bulid 选中对应的第三方jar

    2. 插件B引用插件工程A(非Eclipse插件,而是自己另外一个插件项目中的类)

    a) 首先必须将A中的B需要的类暴露(export)出来,如果有MANIFEST.MF文件,则表现为plugin manifest编辑器中runtime节的exported packages,通过这里添加需要export的包。在manifest.mf文件中是Export-Package: com.bbebfe.plugin.xml文件中在runtime->library-><export name=”com.bbebfe.*”/>

    b)  在B插件工程的plugin manifest编辑器中的dependencies选项卡中添加对A插件的引用(这要求运行对话框中的plugins列表的workspace plugins中必须包含A插件)。

    c)  如果B工程是一个RCP工程,则必须在product编辑器的configuration选项卡中包含A插件工程。

    参考自http://blog.csdn.net/ruyanhai/article/details/2118868

  • 相关阅读:
    IntelliJ IDEA常用的快捷键积累总结
    Linux命令(六)之防火墙iptables的相关操作以及端口的开放
    Linux命令(五)之service服务查找、启动/停止等相关操作
    Linux命令(四)之常用文件拷贝/移动,文件解压缩,文件查找等相关的操作
    Linux命令(三)vim编辑器的常用命令
    Linux命令(一)之目录结构、Linux终端操作、关机重启等一些基本操作
    zookeeper核心知识与投票机制详解
    zuul开发实战(限流,超时解决)
    IO多路复用技术详解
    Linux五大网络IO模型图解
  • 原文地址:https://www.cnblogs.com/FlyCat/p/2765281.html
Copyright © 2011-2022 走看看