Maven项目依赖于JDK版本

我有需要使用特定版本的JDK构建的项目。

问题不在源和目标参数中,而是在编译期间使用的运行时的jar中。 在某些情况下,如果我尝试使用错误的JDK进行编译,则会出现编译错误,但有时构建成功并且在使用jar时会出现运行时错误。

例如,在eclipse中,我能够在.classpath文件中为项目建立执行环境。

有没有办法在maven中处理这种情况?

我想要的是像POM文件中的项目的其他依赖项一样处理JRE依赖的能力。

更新:

当我问这个问题时,接受的解决方案是最好的,所以我不会改变它。 同时引入了这种问题的新解决方案: Maven Toolchain 。 请点击链接了解更多详情。

我发现这篇文章:

http://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html

 [...]  [...]   org.apache.maven.plugins maven-compiler-plugin 2.1  true true ${JAVA_1_4_HOME}/bin/javac 1.3    [...]  [...]  

我有需要使用特定版本的JDK构建的项目。

您可以使用Maven Enforcer插件强制使用特定版本的JDK:

  [...]    org.apache.maven.plugins maven-enforcer-plugin   enforce-versions  enforce     1.5         [...]  

但我不确定我是否真的理解这个问题。 如果这不是您想要的,也许您可​​以在配置文件中声明您的JDK特定依赖项,并使用基于JDK版本的激活触发器。 例如:

    1.5  ...   

当JDK的版本以“1.5”开头时,此配置将触发配置文件。

我相信这可以通过你的pom中的以下插件来解决:

  org.apache.maven.plugins maven-compiler-plugin 2.1  1.6 1.6   

在这里,你的目标是1.6版,或编写自己的版本