【问题标题】:Eclipse Maven Plugin not compiling against correct java versionEclipse Maven 插件未针对正确的 java 版本进行编译
【发布时间】:2013-12-27 21:20:38
【问题描述】:

我对使用 maven 很陌生,我正在使用 STS 作为开发环境。我已经修改了我的 pom 文件以表明我的项目应该使用 java 7 编译,但无论我做什么,它总是将清单标记为使用 jdk 1.6。

<properties>
    <java-version>1.7</java-version>        
</properties>

<build>
    <plugins>
         <plugin>
           <artifactId>maven-compiler-plugin</artifactId>
             <version>3.0</version>         
             <configuration>
               <compilerVersion>1.7</compilerVersion>
               <source>1.7</source>
               <target>1.7</target>
             </configuration>
         </plugin>
     </plugins>
 </build>

我需要做些什么才能让它知道我的项目是 1.7?这是项目清单中的文本,始终指示 1.6:

Manifest-Version: 1.0
Built-By: pao
Build-Jdk: 1.6.0_25
Created-By: Maven Integration for Eclipse

【问题讨论】:

  • 我现在只想补充一点,当我运行一个 maven 包时,war 文件中的清单确实表明版本是 java 1.7,但是目录 target\m2e-wtp\web-resources 中的文件\META-INF\MANIFEST.MF 总是说 1.6....
  • 请在终端发出java -version

标签: eclipse maven build pom.xml


【解决方案1】:

文件夹 target\m2e-wtp\web-resources\META-INF\MANIFEST.MF 是通过您在 Eclipse 中使用的 Maven 集成生成的,它被配置为使用 JDK 1.6,默认或显式。

更改 Eclipse 中的配置,确保您的项目配置为使用 jdk 1.7。

【讨论】:

  • 关于如何做到这一点的任何指针?我的项目已经使用 1.7 SE 文件,我的项目方面设置为 1.7,我的 java 编译器设置也设置为 JDK 合规级别 JavaSE-1.7。我还有什么需要做的吗?
  • 您的项目是否有服务器运行时?
  • 另外,你的默认 eclipse jdk 设置是什么?
  • 我没有,但我将它设置为 tomcat 7 只是为了看看这是否有所作为,但它没有。如果我右键单击项目并选择导出为战争文件,则生成的战争中的清单具有 1.6 作为版本,与 target\m2e-wtp\web-resources\META-INF\MANIFEST.MF 中的清单文件相同,但是使用 maven: 包构建战争我在生成的战争文件的清单中得到了正确的 java 版本。
  • 我认为我的 Eclipse 的默认 jdk 设置为 1.6,至少这是我很久以前安装它时选择的,但我认为我已经为这个项目更改了它。如何查看默认的 JDK 版本?
【解决方案2】:

我也有同样的问题

Manifest-Version: 1.0
Built-By: MrD
Build-Jdk: 1.8.0
Created-By: Maven Integration for Eclipse

vs (package):

Manifest-Version: 1.0
Built-By: MrD
Build-Jdk: 1.7.0_25
Created-By: Apache Maven 3.2.1
Archiver-Version: Plexus Archiver

我在 Eclipse 中没有 java 8 jdk(即在 Preferences > Java > Installed JREs 中)。我相信这是一个错误 - 我在这里报告:https://bugs.eclipse.org/bugs/show_bug.cgi?id=437668

尽管如此,我不确定它是否真的构建 JDK 8 - 也许它只是错误地报告了这一点?

【讨论】:

    【解决方案3】:

    清单文件中的版本存在类似问题。通过更改 Eclipse 启动参数以使用预期的 jvm 来解决此问题。 (也可以在命令行上完成。)对我来说更新 eclipse.ini 以包括:

    -vm C:\Java\jdk1.7.0_60\bin\javaw.exe

    (我也因为其他原因选择了jdk版本)

    然后使用 maven 插件更新项目,一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-27
      • 1970-01-01
      相关资源
      最近更新 更多