java - 如何为 Eclipse 中构建的 Maven 聚合器项目定义 JRE?

标签 java eclipse maven m2eclipse m2e

我有一个 Maven 聚合器项目(即带有模块的项目),我想使用“Run As -> Maven install”在 Eclipse 中构建它。我的问题是该项目需要 JDK 1.6,而 Eclipse 使用 JDK 1.7(默认 JRE)来运行 Maven。此问题仅在构建聚合器(“父”)项目时出现,而不是在单独构建模块时出现。

我试过在 POM 中设置源和目标属性,都是这样的:

<properties>
    <maven.compiler.source>1.6</maven.compiler.source>
    <maven.compiler.target>1.6</maven.compiler.target>
</properties>

像这样:

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
    </configuration>
</plugin>

但都没有用。

我猜问题如下:对于“普通”Maven 项目,Eclipse 使用构建路径 JRE(由 POM 设置确定)来决定在哪个 JRE 中运行 Maven。现在对于聚合器项目,它具有“pom”的打包类型,没有 Eclipse 构建路径,因此 Eclipse 无法选择“正确的”JRE。

有人知道如何解决这个问题吗?理想情况下,该解决方案只涉及更改 POM 而不是项目或全局 Eclipse 设置。

最佳答案

打开“运行配置”编辑器。有一个类别“Maven Build”。在那里创建一个新配置。这将在对话框的右侧为您提供一个 JRE 选项卡。在其中选择您想要的任何 JRE。

您可以使用“常用”选项卡中的“共享文件”选项将此启动配置保存在项目中。

您可能还想检查 Maven enforcer plugin , 特别是 requireJavaVersion .这允许您向使用错误的 JRE 时失败的构建添加检查。

关于java - 如何为 Eclipse 中构建的 Maven 聚合器项目定义 JRE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21758112/

相关文章:

java - 使用 Java(同步)的生产者/消费者模型,但始终运行相同的线程

java - 如何计算基于 GUI 的程序的总小时数?

git - 是否可以通过 SSH (Gradle) 编译 bitbucket 依赖项?

java - 在没有 IDE 的情况下创建 Maven 项目构建失败

eclipse - m2Eclipse插件用maven 3.0.3,没有编译错误,jre5用jdk7

java - 如何解决java中字符串太长的异常

java - Hook Portlet 项目

java - JTextArea 文本不可见且无滚动

java - Android 未检测到使用短信监听器发送的短信

java - 如何防止 Eclipse 为每次构建清理 bin 文件夹?