2013-02-09 12 views
14

我使用標準的Maven目錄佈局在Eclipse中開發我的項目。源位於src/main/java/com/mycompany目錄中。並且需要將我的源代碼放在main.java.com.mycompany包中。 當我建立可執行的JAR文件,我必須定義主類的Manifest.MF中,如:maven中沒有main.java的包名

Main-Class: main.java.com.mycompany.MyMainClass 

但我在很多例子中看到的(如在Maven的組裝插件或配置mainClass屬性maven-jar-plugin)中指定的類名不帶main.java部分。我只想要

Main-Class: com.mycompany.MyMainClass 

我想不出如何實現這一點,因爲我完全是Maven的新手。

+0

給定的main.java包與src/main/java位置無關。如果這需要比你在Eclipse(m2e)等中的配置錯誤。 – khmarbaise 2013-02-09 16:09:34

+0

我還沒有使用Eclipse(m2e)的任何插件或maven-maven的maven-eclipse,只是從命令行使用mvn構建項目。 – Grade 2013-02-10 10:47:57

回答

35

Maven的默認目錄佈局不同於Eclipse在創建新Java項目時使用的佈局。

其實很簡單。當您創建一個新的Java項目時,Eclipse會在文件系統上創建一個名爲'src'的文件夾,您應該在其中放置源代碼。另外,Eclipse將該文件夾配置爲「源文件夾」。您在此文件夾中創建的每個文件夾都將代表一個Java包。

Maven想要的是有點不同。 Maven喜歡你將'java'子文件夾配置爲源文件夾的'src/main/java'文件夾。因此,在此java文件夾下創建的所有文件夾將代表Java包。

您可以從項目屬性中管理Eclipse中的源文件夾。右鍵點擊你的項目,選擇'build path - > configure build path'。在彈出窗口中打開「源」標籤。現在,刪除'src'作爲源文件夾,並將其替換爲'src/main/java'。

現在Eclipse會將您的包識別爲com.mycompany而不是main.java.com.mycompany。

我總是使用maven-eclipse插件從commmand行生成我的eclipse項目和classpath文件。我不是m2e的忠實粉絲。

2

如果您使用的是eclipse,請使用m2e。 maven項目的eclipse工作區配置不正確

3

你也可以嘗試更新maven項目。 右鍵單擊項目> Maven>更新Maven項目。