如何在Eclipse和M2E的maven pom.xml文件中定义类路径条目的访问规则?

为了避免jfxrt.jar的非法访问警告,我手动更改了我的类路径文件以包含访问规则:

通缉类路径条目

         

如果我执行我的pom.xml文件, 则删除标记accessrule并且新条目为

当前由pom.xml / M2E生成的类路径条目

      

这是因为有关访问规则的信息未包含在我的pom.xml文件中。 如何修改我的pom.xml文件以生成所需的类路径文件?

  • 我可以使用maven-compiler-plugin的一些配置吗?

  • 或者我是否必须使用一些额外的maven插件来修改类路径文本文件?

  • 或者根本不可能在pom.xml文件中解决这个问题,我将不得不写一个M2E的function请求?

这是我的pom.xml文件的片段(我使用pom包装):

用于编译阶段的Curent pom.xml条目

   org.apache.maven.plugins maven-compiler-plugin 3.3   1.8 1.8    compile-execution compile  compile    org.treez.test-compile-execution org.treez.test-compile  testCompile     

你是以错误的方式去做的。 问题不是来自Maven,而是来自Eclipse。

您应该安装e(fx)clipse插件。 这将删除Eclipse的非法访问警告。 无需调整Maven配置; 确保您正在为JDK 8编译。

我找到了修复我的.class文件的解决方法。 需要两个步骤:

  1. 将maven-antrun-plugin添加到pom.xml文件中的#build#=>#plugins#部分,以替换.classpath文件中的文本:
  org.apache.maven.plugins maven-antrun-plugin 1.8   prepare-package        run     
  1. 告诉M2E执行该插件。 否则M2E会忽略它。 在pom.xml文件的#build#=>#pluginManagement#部分中定义生命周期映射:
     org.eclipse.m2e lifecycle-mapping 1.0.0      org.apache.maven.plugins maven-antrun-plugin 1.8  run     false