我试图使用maven和m2eclipse来建立现有项目。我已经为它创建了一个新的maven项目并导入了我的源文件并添加了必要的依赖项,但是由于它默认使用Java 1.5设置,我收到了编译错误。我已经尝试更新pom.xml文件以指示系统使用Java 1.7,之后我告诉eclipse从maven更新项目设置,关闭并重新打开项目,然后重新启动eclipse以查看是否它会刷新应该使用Java 1.5的信息,但是eclipse仍然坚持要用1.5编译项目。我的pom.xml文件粘贴在下面:
<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>uk.org.dsf</groupId>
<artifactId>util-test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>util-test</name>
<description>utility classes for testing purposes</description>
<plugin> <!-- enable java 1.7 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<dependency>
<groupId>org.jmock</groupId>
<artifactId>jmock</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>org.jmock</groupId>
<artifactId>jmock-junit4</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>3.3.1</version>
</dependency>
</dependencies>
</project>
任何想法在这里出了什么问题?
答案 0 :(得分:0)
上面引用的POM文件格式不正确。 <plugin>
标记应嵌套在<build><plugins>
块中;因此m2eclipse
无法从中找到编译器详细信息。这里唯一奇怪的是,这不会产生任何类型的错误或警告信息;它至少应该导致XML文件不符合其指定架构的警告。
我遇到的另一个相关问题:如果您指定了java版本&gt; 1.7在eclipse Juno中,即使你配置了Java 8 JDK,该值也会被忽略。看起来1.8只能在Luna中正常工作,也许Kepler会安装一些更新(没有测试过该配置)。