Java版本 - Maven - Classpath?

时间:2018-04-21 09:20:54

标签: java eclipse maven classpath

所以我将maven项目配置为Java9

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.9</source>
                <target>1.9</target>
                <compilerVersion>1.9</compilerVersion>
            </configuration>
        </plugin>
    </plugins>
</build>

但是,如果我检查项目构建路径,它仍然在eclipse(而不是JavaSE-9)中说JRE系统库[J2SE-1.5],所以它基本上使用Java1.5并且给了我很多错误。如果我手动纠正该条目,一切都很好。但Maven不应该处理完整的类路径设置吗?对此的答案可能非常简单,但我无法弄明白。

谢谢!

wron java version from the right jdk

修改 解决方法是删除compilerVersion并编辑源标记和目标标记:

<configuration>
    <source>9</source>
    <target>9</target>
</configuration>

2 个答案:

答案 0 :(得分:2)

第1步:检查MAVEN和JAVA的路径

mvn -v

在输出中检查“Java版本”是否指向1.9

Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T13:28:13+05:30)
Maven home: /Maven/3.5.2
Java version: 9.0.4, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-9-oracle
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-119-generic", arch: "amd64", family: "unix"

第2步:检查IDE中是否配置了JDK 9(eclipse / sts)

  • 转到偏好设置&gt; Java&gt;已安装的JRE :: Check if Java 9 is available
  • 如果Java 9不可用,请点击添加
  • 选择JRE类型标准VM / JVM ,然后点击下一步
  • JRE主页 - Java 9 Home path。
  • JRE名称将自动填充, JRE系统库将显示 jrt-fs.jar 已加载。
  • 点击完成
  • 现在你应该看到JVM 8和9 showing up in the Installed JREs section
  • 点击应用并关闭

第3步:更新您的Maven项目以使更改生效

  • 按照Justin Albano给出的提示,您已准备好使用Java 9处理Maven项目。

答案 1 :(得分:1)

有时候Maven源版本(1.9是您的特殊情况)并且Eclipse源版本不同步,尤其是pom.xml文件中的源版本在后更改 em>该项目已在Eclipse中创建。要使两者重新同步,请执行以下操作:

  1. 右键单击项目
  2. 鼠标悬停Maven
  3. 点击Update Project...
  4. 您还可以使用 Alt + F5 更新Maven配置。有关详细信息,请参阅What causes imported Maven project in Eclipse to use Java 1.5 instead of Java 1.6 by default and how can I ensure it doesn't?