我在使用 m2eclipse 时遇到构建错误,但在命令行上使用 maven2 时却没有构建错误 - 是我的 m2eclipse 配置错误吗?

2024-03-29

我安装了 m2eclipse 在 Eclipse 中构建一个 java 项目。

我导入项目如下:

Import->
Maven->
Existing Maven Projects->
Import Maven Projects->
- Select root directory
- Select pom file
- Click Finish

为了确保 m2eclipse 确实正在构建项目,我删除了目标目录并确保它是由 m2eclipse 重新创建的,而且确实如此。但与完美构建一切的命令行版本 maven 不同,m2eclipse 在源代码中留下了大量构建错误。

难道是我没有正确配置m2eclipse?我该如何检查这个?

这是该项目的 github 链接 http://github.com/tleese22/google-app-engine-jappstart我正在尝试构建。我收到 @Override 构建错误这条线 http://github.com/tleese22/google-app-engine-jappstart/blob/master/src/main/java/com/jappstart/service/auth/PersistentTokenRepositoryImpl.java#L100。它说“方法 createNewToken 必须重写超类方法”。


Update:问题与描述的问题相同将项目导入 Eclipse 后出现“必须重写超类方法”错误 https://stackoverflow.com/questions/1678122/must-override-a-superclass-method-errors-after-importing-a-project-into-eclipse这是公认的答案:

Eclipse 默认使用 Java 1.5,并且您有实现接口方法的类(在 Java 1.6 中可以使用 @Override 进行注释,但在 Java 1.5 中只能应用于覆盖超类方法的方法)。

将编译器级别更改为 Java 1.6 将使问题消失。为此,请修改编译器插件配置:

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

并更新项目配置(右键点击然后在项目上Maven V 更新项目配置)确实解决了Eclipse下的问题。

或者坚持使用 1.5,但删除有问题的 @Override 注释。

我不知道 Taylor 是如何在 Java 1.5 编译器级别上工作的。我的猜测是该项目不会使用 JDK 5 在命令行上构建。


但与完美构建一切的命令行版本 maven 不同,m2eclipse 在源代码中留下了大量构建错误。

如果没有看到这些“错误”,很难说到底发生了什么(它们真的是错误吗?)。请提供一些痕迹。

难道是我没有正确配置m2eclipse?我该如何检查这个?

一个区别是 m2eclipse 默认使用 Maven 3 的嵌入式版本,该版本可能与您在命令行上使用的版本不同。你可以通过改变它Window V 首选项 V Maven V 安装(并添加您自己的安装):

但是,虽然我建议在 Eclipse 下使用与命令行上相同的版本,但这很可能不是问题的根本原因,Maven 2 构建应该在 Maven 3 上运行而不会出现问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我在使用 m2eclipse 时遇到构建错误,但在命令行上使用 maven2 时却没有构建错误 - 是我的 m2eclipse 配置错误吗? 的相关文章

随机推荐