Maven编译器插件的POM文件丢失。

4
编辑: 我刚将我的Eclipse版本从Kepler更新到了Luna - 在更新之前,我的所有Maven项目都运行良好。
我遇到了一个错误,导致我的Maven项目无法安装:
The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.5.1 is missing, no dependency information available

当我在Eclipse中导航到Maven的生命周期映射时,我看到:
compiler:compile      | error
compiler:text Compile | error

我在我的.m2仓库中有maven-compiler-plugin:jar:3.1(包括POM文件),想要使用它代替。

如何在Eclipse中配置?或者,如果这不是解决问题的方法,该怎么解决?

1个回答

5

您需要编辑pom.xml以设置要使用的编译器插件版本。如插件主页所述,您可以在项目的pom.xml文件的build部分中配置maven-compiler-plugin,例如:

<project>
  ...
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.1</version>
          <configuration>
            <!-- put your configurations here -->
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  ...
</project>

如果您想使用本地Maven安装的存储库(而不是Eclipse内置的版本),请转到“首选项” ->“Maven” ->“安装”,并在那里添加您的Maven安装。

笑话是,即使您配置了自己的Maven运行时,Luna中嵌入的Maven运行时仍将用于解析依赖项。我不得不自己覆盖settings.xml而不是安装自己的运行时。 - Gimby
哦,好的,我不知道那个。但是话说回来,我希望嵌入式运行时可以自己下载本地存储库中不可用的构件。在pom中显式设置maven-compiler-plugin的版本应该可以解决OP的问题(至少我希望如此)。 - Roland Krüger
如果您没有自己指定版本,Maven将使用插件的最新版本。由于显然这里正在使用版本2.5.1,我猜测该版本已硬编码在某个pom中。也许它太旧了,与Maven 3不兼容。 - Gimby
@RolandKrüger 谢谢,这解决了我的问题。不幸的是,我又遇到了一个新问题:'在项目'myProject'上运行构建器'Maven Project Builder'时出错。 org/apache/maven/shared/filtering/MavenFilteringException' - 有什么想法吗? - Clay Banks
你的设置似乎有问题,因为找不到MavenFilteringException类。但是如果不知道你的设置,我只能猜测。 - Roland Krüger
显示剩余2条评论

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