Maven + Eclipse Oxygen + Java 9

4

我创建了一个非常基础的Maven项目:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>de.jotschi</groupId>
    <artifactId>test</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>9</source>
                    <target>9</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

它只有一个de.jotschi.App主类和一个/test/src/main/java/module-info.java文件,该文件定义并导出模块:

module test {
  exports de.jotschi;
}

如果我在eclipse中运行App类,会显示以下错误:

初始化启动程序时发生错误 java.lang.module.FindException: 未找到模块test

Eclipse版本为:Oxygen.1 Release (4.7.1) + Java 9 Support for Oxygen
Java版本为:9+181

3
Java 9对于Oxygen的支持并未包含Maven支持的补丁。请尝试使用Oxygen 1a.RC1 - howlger
由于我能在IntelliJ中做类似的事情,我猜测eclipse不支持maven插件配置。虽然不是完全重复,但可能那里的答案表明你可以等到2017年11月10日发布。https://dev59.com/BKXja4cB1Zd3GeqPQWbw - Naman
2
@nullpointer 你猜错了。 - howlger
3
@nullpointer,Java 支持和 Maven 支持是由不同的 Eclipse 项目开发的,需要针对 Java 9 进行不同的适配。 - howlger
1
我看到这在氧气1a上仍然发生。还有人遇到同样的错误吗?看起来maven支持没有更新。 - Amit Kumar
显示剩余3条评论
1个回答

8

注意:更新到Oxygen.1a版本时,请确保之前安装的BETA补丁功能没有留下任何痕迹(否则可能会阻止某些插件的最终发布版本)。 - Stephan Herrmann
我正在使用Eclipse 4.7.3a版本,但仍然遇到相同的问题。怎么回事? - Arya
@Arya 我无法在 Oxygen.3a (= Platform/JDT 4.7.3a 和 m2e 1.8.3) 上重现它。你确定 m2e 已经更新到最新版本,并且没有遇到 bug 526065 吗? - howlger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接