【发布时间】:2018-07-15 20:20:09
【问题描述】:
我想将我的项目从 java 8 更新到 java 10。解决 java 9 模块系统的众所周知的问题。然而,经过一些摆弄、研究和来回,我能够在 Maven 中编译所有内容。我在我的项目中添加了一个 module-info.java。另请参阅我的 pom 的这个 sn-p。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>10</source>
<target>10</target>
<release>10</release>
<optimize>true</optimize>
<debug>true</debug>
</configuration>
<dependencies>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>6.2</version>
</dependency>
</dependencies>
</plugin>
但是 Intellij 报告 100 个错误说
来自 A 和 B 的未命名模块就绪包 X
和类似的。我正在使用 Intellij 社区版 1018.1.5。我在 eclipse photon 中测试了它,它编译得很好。我认为 IntelliJ 将 maven 依赖项放在模块路径/类路径上的方式与 maven 或 eclipse 放置它们的方式不同。
但是,我不知所措,不知道如何说服 IntelliJ 编译我的项目。
【问题讨论】:
-
最好共享您的 intelliJ 版本和项目配置,以便进一步了解...并清除您要迁移到的 java10 还是 java9。跨度>
-
小题外话:当使用
release时,你可以去掉source+target,debug默认已经是true并且optimize已经被弃用了,编译器已经这样做了很多优化。 -
你能复制实际的错误信息吗?这个在我看来不完整。
-
@RobertScholte:当前(或至少是最近的)版本的 IntelliJ 没有支持
release,所以仍然需要source和target。 -
@Nicolai 真可惜……
标签: java maven intellij-idea java-9