我有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>
答案 0 :(得分:0)
看看How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version 安装JRE 7并且你很好(maven是一个构建工具,而不是运行时工具)