java - 由于JDK功能不受支持,Jenkins Maven编译失败?

标签 java maven jenkins

每当我使用 Maven 部署 Jenkins 构建时,它都会说我有 1.3 JDK,即使我安装了 1.7。

这是我使用增强的 for 循环时得到的错误日志的图片:

http://gyazo.com/d1c7e297199dbf8a8b6ba23efa5733ba.png

但是,我显然安装了 1.7 JDK。

http://gyazo.com/27b85ba9ea25579aa714b0e2586fd618.png

如果有人知道为什么会出现此问题以及如何解决它,请在下面发帖。

抱歉,我没有大量的格式化信息,但我不知道为什么会发生这种情况,因为我没有这么过时的 JDK 并且有来自 Oracle 的最新更新。 Maven 和 Jenkins 也全面更新。

谢谢。

最佳答案

maven的提示不是关于你的jdk版本,而是关于编译器的-source参数。较旧的 Maven 版本使用 maven-compiler-plugin 版本,默认情况下使用 -source 和 -target 1.3。

因此,您需要做的是将项目配置为使用更高的源和目标级别,以便使用 for every 循环:

(取自 https://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html )

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
    </plugins>
    [...]
  </build>
  [...]
</project>

请注意,只需设置 maven-compiler-plugin 的版本实际上就足够了,因为对于版本 3.1,默认 1.5,但是显式包含源版本和目标版本是一种很好的方式在你的主 pom 中。

关于java - 由于JDK功能不受支持,Jenkins Maven编译失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21794010/

相关文章:

java - 使用 Appcompat v7 的抽屉导航 - Android :attr Tag 的问题

java - HBase代码无法在Intellij中成功运行

jenkins - 当 Jenkins 作业运行时间过长时如何触发警报?

hudson - 使用 Hudson/Jenkins API 确定给定作业当前是否正在运行

java - 关于javafx表格 View

java - 如何使用将注释写入生成的 XML 的注释来扩展 org.simpleframework.xml

java - 在编译期间如何使用 GCJ 将两个 Java 文件链接在一起?

java - 使用 Jetty 9 配置 SSL

java - 无法编译 java doclet 程序,获取包 com.sun.javadoc 不存在

apache - 托管 Jenkins