maven,JAVA_HOME in pom

时间:2013-04-08 17:13:40

标签: maven compiler-construction

我有Maven 2.2.1,它使用JAVA 1.6。但我需要用1.7编译并执行我的项目。我不想因为其他项目而改变JAVA_HOME变量,据我所知,我可以在pom中进行配置。

使用下面的代码,我可以编译我的项目,但由于次要版本,我无法执行它。我做错了什么?或者在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-PLUGIN解决方案

通过添加以下配置解决了问题:

 <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>

1 个答案:

答案 0 :(得分:0)

看看How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version 安装JRE 7并且你很好(maven是一个构建工具,而不是运行时工具)