java打jar包的maven方式
在使用Maven管理專案時, 使用maven打成jar包執行, 預設情況下是不包含依賴jar包的
將jar包採用不解壓jar包的方式,打入進一個jar包內,以下主要是 pom檔案的配置:
但是這種方式還是不能像springboot那樣 用一個單獨的jar 包, 並執行
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<descriptors>
<!--<descriptor>src/assembly/assembly-fat-jar.xml</descriptor>-->
<descriptor>src/assembly/assembly-conf.xml</descriptor> <!-- 依賴的額外配置檔案 將依賴包打入單一的jar,並且依賴包不解壓, -->
</descriptors>
<archive>
<manifest>
<mainClass>com.example.demo</mainClass>
<addClasspath>true</addClasspath>
<classpathPrefix>./libs</classpathPrefix>
</manifest>
<manifestEntries>
<Class-Path>.</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
src/assembly/assembly-conf.xml
<assembly>
<id>with-dependence</id><!-- 配置檔案的標識,同時生成的jar包名字會把這個文字包含進去 -->
<formats>
<format>jar</format><!-- 打包型別,此處為jar -->
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<unpack>false</unpack> <!-- 是否解壓 -->
<outputDirectory>libs</outputDirectory> <!-- 將依賴jar包放入libs資料夾,不寫預設是jar包根目錄 -->
<useTransitiveFiltering>true</useTransitiveFiltering>
<useStrictFiltering>true</useStrictFiltering>
<fileMode>666</fileMode>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
<outputDirectory>./</outputDirectory> <!-- 自己編寫的執行main.class檔案 放置的路徑資訊 應該放到根目錄下 -->
</fileSet>
</fileSets>
</assembly>
第二種方式
是將依賴的jar包放到 一個單獨的資料夾
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.example.demo</mainClass>
<addClasspath>true</addClasspath>
<classpathPrefix>./libs</classpathPrefix>
</manifest>
<manifestEntries>
<Class-Path>.</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/libs</outputDirectory> <!-- 放到target 下的libs 目錄 -->
</configuration>
</execution>
</executions>
</plugin>
相關文章
- Maven專案打jar包MavenJAR
- 如何使用Maven將專案中的依賴打進jar包MavenJAR
- Maven引入本地jar包MavenJAR
- 一個小技巧,Maven的打Jar包體積減少100倍MavenJAR
- maven 工程匯入jar包MavenJAR
- Springboot 打jar包分離lib,配置檔案正確方式Spring BootJAR
- IDEA打可執行的jar包IdeaJAR
- 《《《maven倉庫下載jar包MavenJAR
- jar包啟動方式JAR
- 新增jar包到本地Maven倉庫JARMaven
- Maven 專案引入本地 jar 包方法MavenJAR
- Springboot 引入本地 jar 包方式Spring BootJAR
- java-jar啟動jar包JavaJAR
- java修改jar包JavaJAR
- Java 如何打增量 jar 包【修改部分檔案不需全部打包】JavaJAR
- IDEA中打Jar包的正確姿勢IdeaJAR
- eclipse 手動新增jar包到maven庫EclipseJARMaven
- 從Maven專案中獲取Jar包MavenJAR
- maven安裝jar包到本地倉庫MavenJAR
- 釋出jar包到maven中央倉庫JARMaven
- idea maven update下載未下載好的jar包IdeaMavenJAR
- Java Jar 包加密 -- XJarJavaJAR加密
- java中常用jar包JavaJAR
- linux 啟動jar包:在 Linux 上啟動 Java jar 包的方法LinuxJARJava
- Maven Idea檢視解決jar包衝突MavenIdeaJAR
- 如何將JAR包釋出到Maven中央倉庫?JARMaven
- Maven deploy部署jar包到遠端私倉MavenJAR
- Maven把專案依賴的所有jar包都打到同一個jar中MavenJAR
- 《SpringBoot篇:002》《SpringBoot的三種啟動方式:main、Maven、jar》Spring BootAIMavenJAR
- 06、使用Gradle構建的專案如何打jar包和war包GradleJAR
- java開發常用jar包JavaJAR
- jar包部署,jenkins整合javaJARJenkinsJava
- 本地Maven引用其他Jar包,非雲上。Nenux私服。MavenJARUX
- Idea Java Maven建立專案,新增依賴,引用本地jar,打包jarIdeaJavaMavenJAR
- Spring Boot 將jar包釋出方式改為War包Spring BootJAR
- linux/mac下一鍵刪除下載失敗的maven jar包LinuxMacMavenJAR
- Maven下載jar包慢,pom報錯的解決辦法MavenJAR
- 黑猴子的家:Maven 統一管理目標jar包的版本MavenJAR