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
- IDEA中MAVEN專案打JAR包的簡單方法IdeaMavenJAR
- java-maven生成可執行的 jar 包JavaMavenJAR
- 如何使用Maven將專案中的依賴打進jar包MavenJAR
- Maven引入本地jar包MavenJAR
- maven 工程匯入jar包MavenJAR
- 一個小技巧,Maven的打Jar包體積減少100倍MavenJAR
- maven - 引用本地jar,進行jar包移動MavenJAR
- maven jar包下載命令列方式MavenJAR命令列
- Maven構建引入本地jar包MavenJAR
- 《《《maven倉庫下載jar包MavenJAR
- jar包啟動方式JAR
- IDEA打可執行的jar包IdeaJAR
- 新增jar包到本地Maven倉庫JARMaven
- Maven 專案引入本地 jar 包方法MavenJAR
- maven專案引進本地jar包MavenJAR
- Java 如何打增量 jar 包【修改部分檔案不需全部打包】JavaJAR
- java修改jar包JavaJAR
- java-jar啟動jar包JavaJAR
- Eclipse打JAR包引用的第三方JAR包找不到的問題。EclipseJAR
- 從Maven專案中獲取Jar包MavenJAR
- 釋出jar包到maven中央倉庫JARMaven
- maven解決jar包依賴衝突MavenJAR
- maven安裝jar包到本地倉庫MavenJAR
- Springboot 打jar包分離lib,配置檔案正確方式Spring BootJAR
- maven依賴jar包更新,業務jar需同步更新(業務jar依賴API)MavenJARAPI
- Eclipse引入jar包的三種方式EclipseJAR
- Maven中模組的聚合以及對jar包的繼承MavenJAR繼承
- Java Jar 包加密 -- XJarJavaJAR加密
- java中常用jar包JavaJAR
- java之生成jar包JavaJAR
- IDEA中打Jar包的正確姿勢IdeaJAR
- eclipse 手動新增jar包到maven庫EclipseJARMaven
- 如何將JAR包釋出到Maven中央倉庫?JARMaven
- Maven deploy部署jar包到遠端私倉MavenJAR
- idea maven update下載未下載好的jar包IdeaMavenJAR
- jar命令打包與java執行jar包JARJava
- Maven把專案依賴的所有jar包都打到同一個jar中MavenJAR