2013-04-08 2 views
0

Java 1.6을 사용하는 Maven 2.2.1이 있습니다. 하지만 1.7로 프로젝트를 컴파일하고 실행해야합니다. 다른 프로젝트 때문에 JAVA_HOME 변수를 변경하고 싶지는 않습니다. 아시다시피, 나는 그것을 pom에서 구성 할 수 있습니다.maven, pom에있는 JAVA_HOME

아래 코드를 사용하면 프로젝트를 컴파일 할 수 있지만 부 버전으로 인해 실행할 수 없습니다. 내가 뭘 잘못 했니? 아니면 퐁 (pom)에서 모든 것을 할 수 없는가? 또는 Maven 버전 (2.2.1)과 관련이 있습니다.

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <configuration> 
      <source>1.7</source> 
      <target>1.7</target> 
      <fork>true</fork> 
      <executable>...path-to-my-1.7-javac...</executable> 
      <compilerVersion>1.7</compilerVersion> 
      <encoding>UTF-8</encoding> 
     </configuration> 
</plugin> 

편집 : MAVEN-EXEC-플러그인 솔루션

문제는 아래의 구성을 추가하는 해결 : JRE 7

<properties> 
     <arg0>defaultParam1</arg0> 
</properties> 


<plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>exec-maven-plugin</artifactId> 
     <executions> 
      <execution> 
      <goals> 
       <goal>exec</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <executable>path-to-java-1.7/bin/java</executable> 
      <arguments> 
      <argument>-classpath</argument> 
      <classpath/> 
      <argument>${main.class}</argument> 
      <argument>${arg0}</argument> 
     </arguments> 
     </configuration> 
    </plugin> 

답변

0

설치 How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version 에서 봐, 그리고 당신은 좋은 (maven은 런타임 도구가 아닌 빌드 도구입니다)

+0

제 질문에 말했듯이 저는 Java 7이 설치되어 있습니다. . java_home이 자바 1.7을 가리키면 작동 할 것이지만 그것을 바꾸고 싶지는 않습니다. 나는 1.7의 사용을 시행하고 싶다. POM에있는이 특정 프로젝트에 대해서. 물론 maven에서 Java 코드를 실행할 수 있습니다. 나는 exec-plugin과 build jar로 코드를 실행하려고 시도했다. JAV_HOME = 1.7에서 작동합니다. – Salvadora

+0

@Salvadora JAVA_HOME을 변경하지 않고 설치 ... c : \ temp \ Foo에서 JRE7을 말하십시오. c : \ temp \ Foo \ java -jar를 호출하면됩니다. \ builder.jar –

+0

Shmil, 재생 해줘서 고마워. 터미널에서 jre에 대한 경로를 지정하면 코드를 실행할 수 있습니다. 그러나 그것이 내가 피하고 싶은 것입니다. jar를 사용할 때 어쩌면 그것을 할 수 없을 수도 있지만 적어도 exec : java (maven-exec-plugin)를 사용할 때는 가능합니다. 이렇게하려면 exec-plugin을 구성 할 수 있습니까? – Salvadora