我在Java中有一个非常简单的HelloWorld代码,可以正常工作。我正在使用Eclipse并试图找出如何使用maven2 eclipse插件导入项目的依赖项。
public class testMavenDep {
public static void main(String arg[]){
System.out.println("Hello World");
}
}
然而,当我右键点击项目>配置>转换为maven项目,然后尝试运行它给我一条错误信息说...
找不到主类:testMavenDep.testMavenDep。程序将退出。
控制台中的以下内容......
java.lang.NoClassDefFoundError:testMavenDep / testMavenDep 引起:java.lang.ClassNotFoundException:testMavenDep.testMavenDep 在java.net.URLClassLoader $ 1.run(未知来源) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher $ AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) 线程“main”中的异常
我的pom文件是......
<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>testMavenDep</groupId>
<artifactId>testMavenDep</artifactId>
<version>0.0.1-SNAPSHOT</version>
</project>
我的问题是,对于已经存在的Java项目,添加maven依赖项的正确方法是什么?我可以使用上面的方法添加依赖项,但我遇到的问题是它失去了对主类的跟踪。提前谢谢!
答案 0 :(得分:5)
您将主要课程放在哪个源文件夹中?默认情况下,Eclipse将其放在src中,但maven约定是src / main / java。可能是添加maven依赖项正在更改源文件夹,以便不编译您的类。