2011-05-28 27 views
5

我在Java中有一個非常簡單的HelloWorld代碼,它工作正常。我使用Eclipse並試圖找出如何使用maven2 eclipse插件導入項目的依賴關係。將java項目轉換爲maven後找不到主類

public class testMavenDep { 

     public static void main(String arg[]){ 
      System.out.println("Hello World"); 
     } 
    } 

然而,當我右鍵單擊項目>配置>轉換爲Maven項目,然後再嘗試運行它給了我一個錯誤信息說...

Could not find the main class: testMavenDep.testMavenDep. Program will exit.

並在以下控制檯...

java.lang.NoClassDefFoundError: testMavenDep/testMavenDep Caused by: java.lang.ClassNotFoundException: testMavenDep.testMavenDep at java.net.URLClassLoader$1.run(Unknown Source) 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) Exception in thread "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

你問關於maven的問題,但是不包括你的POM文件... – 2011-05-28 23:38:21

+0

我的道歉......現在已經附上了。 – Daniel 2011-05-28 23:42:26

回答

5

什麼是你的主要類的源文件夾?默認情況下,Eclipse將其放在src中,但maven約定是src/main/java。這可能是因爲添加Maven依賴項正在改變你的源文件夾,這樣你的類就不會被編譯。

+0

是的,這是發生了什麼事。謝謝。 – Daniel 2011-05-29 08:58:52

+1

@Daniel對不起,這裏的解決方案到底是什麼?我將我的源文件移動到src/main/java,但是我得到的錯誤和你一樣。 – Bren 2013-09-14 13:40:10

相關問題