2016-11-10 2 views
1

JDK 1.7 및 Sonarqube 6.0으로 컴파일되고 컴파일 된 프로젝트가 JDK 1.8에서만 실행됩니다. Jenkins 대시 보드에서 목표 : : org.codehaus.mojo : sonar-maven-plugin : LATEST : sonar 및 sonarqube 폴더의 wrapper.conf에 변경되었습니다. wrapper.java.command = C : \ Program Files \ Java \ jdk1.8.0_91 \ bin \ java, Jenkins JDK가 1.7 ...로 설정되어 있지만 Sonar가 JDK 1.8에서 작동하지 않습니다. 도와주세요.Jenkins vs SonarQube : 특정 JDK로 실행

답변

1

비슷한 문제가있었습니다.

해결 방법은 Jenkins의 Job-Configuration에 JDK8을 사용하도록 설정하고 JDK7을 소스, 테스트 소스 및 surefire 플러그인의 컴파일에 사용하도록 설정하는 것입니다. 이 같은

뭔가 :

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.5.1</version> 
      <configuration> 
       <source>1.5</source> 
       <target>1.5</target> 
       <testSource>1.7</testSource> 
       <testTarget>1.7</testTarget> 
       <verbose>true</verbose> 
       <fork>true</fork> 
       <executable>C:\java\jdk1.7.0_25\bin\javac</executable> 
       <compilerVersion>1.7</compilerVersion> 
      </configuration> 
      <executions> 
       <execution> 
        <id>test-compile</id> 
        <phase>process-test-sources</phase> 
        <goals> 
         <goal>testCompile</goal> 
        </goals> 
        <configuration> 
         <fork>true</fork> 
         <executable>C:\java\jdk1.7.0_25\bin\javac</executable> 
         <source>1.5</source> 
         <target>1.5</target> 
         <compilerVersion>1.7</compilerVersion> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <configuration> 
       <jvm>C:\java\jdk1.7.0_25\bin\java</jvm> 
       <forkMode>once</forkMode> 
      </configuration> 
     </plugin> 

이 당신을 위해 작동하는 경우, 당신은 Settings.XML이있는 JDK의 경로를 설정할 수 있습니다 당신은 각각의 환경/개발자가 사용할 수 있습니다 pom.xml 파일에 해당 설정을 사용 자신의 JDK.

<profile> 
    <id>jdk7</id> 
    <properties> 
    <JDK_1_7_HOME>C:\java\jdk1.7.0_25</JDK_1_7_HOME> 
    </properties> 
    <activation> 
    <activeByDefault>true</activeByDefault> 
    </activation> 
</profile> 

그리고 당신의 pom.xml

... 
    <executable>${JDK_1_7_HOME}/bin/javac</executable> 
... 
관련 문제