在eclipse中无法正常运行时,无法在jenkins中编译maven项目“不再支持源选项6。使用7或更高版本”

时间:2019-06-14 09:37:22

标签: java maven selenium jenkins

我正在使用maven项目进行自动化,当我从eclipse执行脚本时,当我尝试从Jenkins运行脚本时它工作正常,然后系统显示错误

[错误]不再支持源选项6。使用7或更高版本。 [错误]不再支持目标选项6。使用7或更高版本。

JKD:12, 窗户:10, 詹金斯: 专家:

我正在使用以下Maven插件

    [![<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>EventBuizz</groupId>
  <artifactId>EventBuizz</artifactId>
  <version>0.0.1-SNAPSHOT</version>


  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>


  </properties>
  <dependencies>



  <dependency>
    <groupId>org.apache.maven.shared</groupId>
    <artifactId>maven-dependency-tree</artifactId>
    <version>3.0.1</version>
</dependency>
<!-- Selenium -->
 <dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.141.59</version>
</dependency>

        <!-- TestNG -->
        <dependency>                
            <groupId>org.testng</groupId>                               
            <artifactId>testng</artifactId>                             
            <version>6.14.3</version>                               
            <scope>test</scope>                                     
       </dependency>

       <!--JUnit -->

   <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.10</version>
      <scope>test</scope>
    </dependency>

     <!--Maven Plugin -->
    <dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.8.0</version>
  <type>maven-plugin</type>



</dependency>  



</dependencies>



  <build>
  <plugins>

 <!--Maven Plugin -->  
  <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.7.0</version>
    <configuration>
    </configuration>
</plugin>

 <!--Maven surfire plugin -->
      <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.8</version>
            <configuration>
                <printSummary>true</printSummary>
                <suiteXmlFiles>
                <suiteXmlFile>testng.xml</suiteXmlFile>
            </suiteXmlFiles>
            </configuration>
        </plugin>
</plugins>
  </build>





</project>][1]][1]

3 个答案:

答案 0 :(得分:1)

包含以下几行:

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

无论使用什么版本的JDK,您都必须将项目编译为Java 6。

Jenkins告诉您它不再支持Java 6。只需将该版本更新为更高版本即可。

答案 1 :(得分:1)

构建服务器中的Maven版本不支持Java 6,并且您正在通过pom.xml强制将其编译为Java 6。根据需要,您有两种选择,要么将pom.xml纠正为更高的Java版本,要么将jinkens指向一个较早的maven版本。

答案 2 :(得分:0)

似乎您是带Java12的SOL。

根据Oracle Java文档, https://docs.oracle.com/en/java/javase/12/tools/javac.html

源代码发布 指定接受的源代码版本。允许以下释放值:

注意: 从JDK 9开始,javac不再支持小于或等于5的-source版本设置。如果使用小于或等于5的设置,则javac命令的行为就像指定了-source 6

解决方案: 您可以使用Java 8一直回到Java 1.2: https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html

使用Maven工具链/配置文件可以动态选择要使用的工具: https://maven.apache.org/guides/mini/guide-using-toolchains.html

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