为什么Maven会更改Eclipse项目偏好设置?

19

首先,我正在使用Ubuntu 12.04,带有嵌入式Maven 3.0.4(m2eclipse)的Eclipse Juno,并且必须在我从SVN存储库获取的旧项目中工作。

我陷入了一种关于Maven和Eclipse的配置问题。

第一次我执行 Maven > Update project 操作,结果出现“未知错误”,类型为“Maven Java EE配置问题”。我检查了我的项目属性,发现Java兼容性级别设置为1.5,但我已经激活了1.6 JRE。好吧,我改成1.6版本(Java Facet中也是如此),但是当我执行 Maven > Update project 操作时,我的项目属性被恢复为默认值(即1.5版本),而未知错误仍然存在。

我的pom.xml文件似乎没问题,我还试过使用空的pom.xml更新项目(只包含modelVersion、groupId、artifactId、version、name和url标签),但我始终收到相同的错误。

我真的被卡住了。有人有线索吗?


6
这是Maven的一个已知“特性”。默认编译器源/目标版本为1.5,除非您在POM中明确指定版本。Eclipse中的Maven集成工作方式是,它从POM重新生成.project.classpath.settings文件,因此,除非POM指定正确的JDK版本,否则每次更新项目配置时它都会重置为1.5。下面@maximdim的答案是正确的。 - Jim Garrison
好的,我之前认为1.6是默认版本。这个问题已经解决了,但Maven Java EE配置问题仍然存在。 - ilazgo
最终,我解决了问题,删除了.settings文件夹。 - ilazgo
1个回答

36

尝试在pom.xml文件中指定JDK版本:

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  </build>

然后执行“更新项目配置”操作


好的,我漏掉了源标签。这个技巧可以解决Java编译器版本问题。但是"Maven Java EE Configuration Problem"类型的"未知错误"仍然存在。我如何知道错误在哪里? - ilazgo
1
好吧,我差点浪费了一整天的时间,但最终我解决了我的问题。解决方案?很简单:@maximdim的回复和从传统项目中删除.settings文件夹。 - ilazgo
1
我在2021年为这个烦人的问题花费了2个小时。谢谢。 - Numan Karaaslan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接