【问题标题】:How to make Eclipse pick up Java 9 options from POM?如何让 Eclipse 从 POM 中获取 Java 9 选项?
【发布时间】:2017-10-16 10:35:13
【问题描述】:

在我的 POM 中,我有一些针对 maven-compiler-plugin 的 Java 9 特定选项

<compilerArgs>
    <compilerArg>--add-modules</compilerArg>
    <compilerArg>java.xml.ws.annotation</compilerArg>
</compilerArgs>

将我的项目导入 Eclipse 时,我希望 Eclipse 编译器会自动选择这些选项,但事实并非如此。

通过 Eclipse 构建路径配置手动设置模块选项并不是真正的解决方案,因为这些设置无法生存Maven |更新项目 (Alt+F5)。

我正在使用 Eclipse Oxygen.1a。这应该工作吗?

【问题讨论】:

  • 我相信您希望 Eclipse 在您导入或打开项目时使用您的 pom.xml 配置来构建项目,我非常怀疑任何 IDE 都会出现这种情况。

标签: java eclipse maven m2e java-9


【解决方案1】:

JDT 仅在最近才添加了对 --add-modules/--limit-modules 的支持,因此 m2e 可能尚未将其用于他们的导入项目向导。

在他们有机会改进向导(以及相应的 Update Project 功能)之前,修改 Build Path 详细信息确实是您的最佳选择。

在您修改了JRE System LibraryContents 之后(通过节点Is modular) - Alt+F5 真的会删除您的修改吗?只要 m2e 不了解这些细节,他们就不应该盲目删除它,但现在你可能不得不避免使用Alt+F5

【讨论】:

    【解决方案2】:

    尝试使用 arg 标签而不是 compilerArg 标签。

    请参阅来自 Apache 的 this example

    <configuration>
      <compilerArgs>
        <arg>-verbose</arg>
        <arg>-Xlint:all,-options,-path</arg>
       </compilerArgs>
    </configuration>
    

    大概你的 compilerArg 标签无法识别,只是被忽略了。

    【讨论】:

    • 从命令行运行 mvn install 时,&lt;compilerArg&gt;&lt;arg&gt; 都可以。 &lt;arg&gt; 没有解决 Eclipse 的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 2018-09-03
    • 2021-11-15
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多