将java项目转换为maven后找不到主类

时间:2011-05-28 22:45:58

标签: java eclipse maven m2eclipse

我在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依赖项的正确方法是什么?我可以使用上面的方法添加依赖项,但我遇到的问题是它失去了对主类的跟踪。提前谢谢!

1 个答案:

答案 0 :(得分:5)

您将主要课程放在哪个源文件夹中?默认情况下,Eclipse将其放在src中,但maven约定是src / main / java。可能是添加maven依赖项正在更改源文件夹,以便不编译您的类。