我一直在嘗試幾天,爲我的muli-module maven項目創建一個可執行的jar文件。但是,當我嘗試運行這個jar文件時,我得到「無法找到或加載主類src.main.java.com.domain.Mainclass」(爲了我公司的隱私,我更改了域名和MainClass)Maven Jar Builder:無法找到或加載主類
我搜索了幾天,沒有任何明顯的提示似乎工作。
我的項目有一個主要的maven項目,下載所有的依賴項(包裝:POM) 和幾個模塊項目(Packaging:Jar)。
一切似乎工作正常,所有的文件都編譯成類文件,但不知何故主類沒有被添加到POM。
我的POM文件的插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.domain.project.MainClass</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
的命令我使用:MVN清潔包,然後我cd到目標文件夾,並做到:Java的罐子jarfilename.jar
任何提示或幫助將最受歡迎!
編輯:
我目前的配置會爲每個模塊2個jar文件:
- 項目名稱-JAR-與-dependencies.jar
- projectname.jar
當我使用主類導航到模塊的目標文件夾,我可以成功運行該jar文件。但是,當我嘗試運行我的父Maven項目(包裝:POM的那個)的jar文件時,我仍然得到相同的錯誤。有誰知道爲什麼主jar文件找不到主類?
謝謝!
謝謝@NilsH。我改變了你的建議,我仍然有同樣的問題。我在主文件夾中有這個(包裝:Pom)。 知道每個模塊和主項目都有一個目標文件夾,每次構建後都包含2個jar文件有幫助嗎? 1:projectname-jar -with-dependencies.jar 2:projectname.jar – Jonstewart
此外,我發現我的主類模塊的目標文件夾中的jar文件將運行。任何想法爲什麼我的主要項目jar似乎沒有正確的類? – Jonstewart
這工作正常。 Maven正在爲每個包裝打造一個罐子,你必須確保你使用的是正確的罐子。感謝您所有的幫助! – Jonstewart