打包可執行jar檔案,沒有主清單屬性,部分依賴沒有打包。
阿新 • • 發佈:2020-12-24
技術標籤:intellij ideaeclipse
專案場景:
對完成的java專案使用maven進行打包,並打包成可執行jar檔案。
問題描述:
mvn clean compile
mvn clean package
java -jar xxx.jar
執行jar包時出現沒有
- -SNAPSHOT.jar中沒有主清單屬性
- resource資料夾的包沒有匯入
解決方法需要對專案中的配置檔案進行改動。
解決方案:
主清單屬性是指可執行jar包中的main函式,如果要執行jar包需要指明一個執行的入口,需要改動pom.xml。
新增:
<plugins>
< plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs >
<archive>
<manifest>
<mainClass>com.noteligible.pojo.main</mainClass>
</manifest>
</archive>
</configuration>
<executions>
< execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
其中mainClass指的是main函式的函式位置。
maven似乎預設不打包resource資料夾中的jar包,需要再pom.xml中新增:
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
</resource>
directory>指明瞭需要打包的目錄路徑。