I have build errors with m2eclipse but not with maven2 on the command line - is my m2eclipse misconfigured?
我安装了M2Eclipse来在Eclipse中构建Java项目。
我导入项目如下:
1 2 3 4 5 6 7 | Import-> Maven-> Existing Maven Projects-> Import Maven Projects-> - Select root directory - Select pom file - Click Finish |
为了确保m2eclipse确实在构建这个项目,我删除了目标目录,并确保它是由m2eclipse重新创建的。但是与maven的命令行版本(它完美地构建了所有东西)不同,m2eclipse在源代码中留下了大量的构建错误。
是否可能我没有正确配置M2Eclipse?我怎么检查这个?
这是一个Github链接,指向我正在尝试构建的项目。我在这一行得到@override build错误。它说"该方法必须重写超类方法"。
更新:问题与将项目导入Eclipse后"必须重写超类方法"错误中描述的问题相同,下面是接受的答案:
Eclipse is defaulting to Java 1.5 and you have classes implementing interface methods (which in Java 1.6 can be annotated with @Override, but in Java 1.5 can only be applied to methods overriding a superclass method).
将编译器级别更改为Java 1.6会使问题消失。为此,请修改编译器插件配置:
1 2 3 4 5 6 7 8 9 | <plugin> <groupId>org.apache.maven.plugins</groupId> 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注释。
我不知道泰勒是如何处理Java 1.5编译器级别的。我的猜测是这个项目不会建立在带有JDK5的命令行上。
But unlike with the command-line version of maven which built everything perfectly, m2eclipse leaves a large number of build errors in the source code.
很难准确地说出发生了什么而没有看到那些"错误"(它们真的是错误吗?)。请提供一些痕迹。
Is it possible that I did not configure m2eclipse properly? How would I check this?
一个区别是,M2Eclipse默认使用maven 3的嵌入式版本,该版本可能与您在命令行上使用的版本不同。您可以通过window v preferences v maven v installation(并添加您自己的安装)来更改:
但是,尽管我建议在Eclipse下使用与命令行相同的版本,但这很可能不是问题的根本原因,Maven2构建应该在Maven3上运行而不会出现问题。
如果Eclipse配置为使用Java 1.5而不是1.6,则会出现重写错误。检查项目属性。
我查过密码了。我也有同样的问题。代码似乎刚刚被破坏。
编辑:当然是。查看类com.jappstart.service.auth.userdetailssserviceimpl。它想要重写方法
编辑:好吧,这并不能解释为什么它是用Maven Standalone构建的。这对我也有用。很奇怪。看起来这个版本有点不适合M2Eclipse。
编辑:我很确定代码可以工作,因为字节码是由DataNucleus插件修改的。当我以maven build(右键单击->run->maven包)的形式运行项目时,它成功地创建了与m2eclipse的战争。所以我想问题出在M2EclipseMaven构建器上。