国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

maven 模塊打包時(shí)包含依賴和打包可執(zhí)行的jar

這篇具有很好參考價(jià)值的文章主要介紹了maven 模塊打包時(shí)包含依賴和打包可執(zhí)行的jar。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

maven 模塊打包

1)maven 模塊打包jar文件時(shí),指定包含依賴(with-dependencies);
2)maven 模塊打包jar文件時(shí),指定入口MainClass、打包生成可執(zhí)行的jar;

vi qftools/common/src/main/java/com/xxx/qftools/common/Main.java

package com.xxx.qftools.common;

public class Main {
? ? public static void main(String args[]) {
? ? ?? ??? ?System.out.printf("Hello");
? ? }
}

vi qftools/common/pom.xml
? ...
? <build>
? ? <plugins>
? ? ? <plugin>
? ? ? ? <groupId>org.apache.maven.plugins</groupId>
? ? ? ? <artifactId>maven-install-plugin</artifactId>
? ? ? </plugin>
? ? ? <plugin>
? ? ? ? <groupId>org.apache.maven.plugins</groupId>
? ? ? ? <artifactId>maven-jar-plugin</artifactId>
? ? ? </plugin>
? ? ? <plugin>
? ? ? ? <groupId>org.codehaus.mojo</groupId>
? ? ? ? <artifactId>exec-maven-plugin</artifactId>
? ? ? </plugin>
? ? ? <!-- maven-shade-plugin: 將所有依賴包都打進(jìn)jar包中,jar命名帶后綴 shaded-with-dependency -->
? ? ? <plugin>
? ? ? ? <groupId>org.apache.maven.plugins</groupId>
? ? ? ? <artifactId>maven-shade-plugin</artifactId>
? ? ? ? <version>2.4.3</version>
? ? ? ? <executions>
? ? ? ? ? <execution>
? ? ? ? ? ? <phase>package</phase>
? ? ? ? ? ? <goals>
? ? ? ? ? ? ? <goal>shade</goal>
? ? ? ? ? ? </goals>
? ? ? ? ? ? <configuration>
? ? ? ? ? ? ? <!-- 設(shè)置將依賴整合到一個(gè)自定義名稱的 JAR 包。如果不設(shè)置此項(xiàng),
? ? ? ? ? ? ? ? 依賴將整合到 Maven 無插件時(shí)的默認(rèn) JAR 包,并生成一個(gè)前綴為 original- 的無依賴 JAR 包。
? ? ? ? ? ? ? -->
? ? ? ? ? ? ? <shadedArtifactAttached>true</shadedArtifactAttached>
? ? ? ? ? ? ? <!-- 設(shè)置生成的 JAR 包后綴名 -->
? ? ? ? ? ? ? <shadedClassifierName>shaded-with-dependencies</shadedClassifierName>
? ? ? ? ? ? ? <!-- 設(shè)置程序運(yùn)行入口 -->
? ? ? ? ? ? ? <transformers>
? ? ? ? ? ? ? ? <transformer
? ? ? ? ? ? ? ? ? ? ? ? implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
? ? ? ? ? ? ? ? ? <mainClass>com.xxx.qftools.common.Main</mainClass>
? ? ? ? ? ? ? ? </transformer>
? ? ? ? ? ? ? </transformers>
? ? ? ? ? ? </configuration>
? ? ? ? ? </execution>
? ? ? ? </executions>
? ? ? </plugin>
? ? </plugins>
? </build>
??
? 編譯打包后生成2個(gè)jar文件:
? common-1.0-SNAPSHOT-shaded-with-dependencies.jar (打包包含了所有依賴)
? common-1.0-SNAPSHOT.jar (不包含依賴)

? 執(zhí)行jar(with-dependencies的指定拉MainClass的jar,執(zhí)行時(shí)無需再指定MainClass):
? java -jar common-1.0-SNAPSHOT-shaded-with-dependencies.jar
??
? 執(zhí)行jar(未指定MainClass的jar,執(zhí)行時(shí)必須 -cp 指定MainClass):
? java -cp common-1.0-SNAPSHOT.jar com.xxx.qftools.common.Main
??
? 如果 ?java -jar 執(zhí)行 未指定MainClass的jar時(shí),會(huì)報(bào)錯(cuò)jar中沒有主清單屬性(即:jar文件中的META-INF/MANIFEST.MF文件中沒有 Main-Class: com.xxx.qftools.common.Main)
? java -jar common-1.0-SNAPSHOT.jar ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? common-1.0-SNAPSHOT.jar中沒有主清單屬性
?

另外:

java -jar common-1.0-SNAPSHOT-shaded-with-dependencies.jar

如果有依賴的lib需要加載,則執(zhí)行:
java -Xbootclasspath/a:dep.jar -jar common-1.0-SNAPSHOT-shaded-with-dependencies.jar

注意:-classpath 沒有用,如果執(zhí)行:java -classpath dep.jar -jar common-1.0-SNAPSHOT-shaded-with-dependencies.jar 無效。原因是使用 classpath 指定的 jar 是由 AppClassloader 來加載,java 命令加了-jar 參數(shù)之后,AppClassloader 就只關(guān)注 -jar 指定的 jar 文件范圍內(nèi)的 class 了,classpath 參數(shù)失效。
可以使用下面參數(shù)指定依賴jar的加載:
-Xbootclasspath/a: 在系統(tǒng)class加載后加載。通常用這個(gè)。
-Xbootclasspath/p: 在系統(tǒng)class加載前加載,容易和系統(tǒng)類沖突。文章來源地址http://www.zghlxwxcb.cn/news/detail-629346.html

到了這里,關(guān)于maven 模塊打包時(shí)包含依賴和打包可執(zhí)行的jar的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • maven根據(jù)操作系統(tǒng)的不同打包時(shí)引入不同的依賴(jar)

    在進(jìn)行java開發(fā)時(shí)經(jīng)常遇到一種情況,就是 windows 下和 linux 下需要引入的jar包是不一樣的。 比如說我們需要使用java來操作 OpenGL 庫(kù),我們就需要通過 maven 引入 JOGL 的依賴, 然而在 window 下和在 linux 下需要引入 JOGL 的依賴是不一樣的: 在 window 下,需要引入 JOGL 的 -win 版本的

    2024年02月09日
    瀏覽(25)
  • Maven打包可執(zhí)行jar包方法大全(史上最全)

    目錄 打包方法 方法一:使用maven-jar-plugin和maven-dependency-plugin 方法二:使用maven-assembly-plugin (推薦) 方法三:使用maven-shade-plugin 方法四:使用onejar-maven-plugin 方法五:使用spring-boot-maven-plugin 方法六:使用tomcat7-maven-plugin 參考 ? 方法一:使用maven-jar-plugin和maven-dependency-plugin 首先

    2024年02月13日
    瀏覽(23)
  • 使用maven profile 實(shí)現(xiàn)一次打包多版本依賴的fat jar

    使用maven profile 實(shí)現(xiàn)一次打包多版本依賴的fat jar

    基于一種特殊情況: 需要開發(fā)通用代碼,但底層依賴的jar有不同版本,使用一次maven 命令編譯來同時(shí)生成多個(gè)fat jar。 測(cè)試代碼結(jié)構(gòu): log4j-v1/log4j-v2 有一個(gè)同名類被maintest引用。 maintest pom.xml如下

    2024年02月12日
    瀏覽(24)
  • 解決IntelliJ IDEA執(zhí)行maven打包,執(zhí)行java -jar命令提示jar中沒有主清單屬性

    解決IntelliJ IDEA執(zhí)行maven打包,執(zhí)行java -jar命令提示jar中沒有主清單屬性

    IDEA執(zhí)行 mvn clean package -DskipTest=true 命令或者借助工具的 Maven菜單 進(jìn)行打包操作,然后執(zhí)行 java -jar app.jar 命令后,提示jar中沒有主清單屬性 這個(gè)錯(cuò)誤通常是由于生成的JAR文件缺少一個(gè)主清單屬性引起的。在使用 java -jar 命令運(yùn)行JAR文件時(shí),JVM需要查找JAR文件中包含 Main-Class 屬

    2024年02月05日
    瀏覽(27)
  • Maven(五)如何只打包項(xiàng)目某個(gè)模塊及其依賴模塊?

    Maven(五)如何只打包項(xiàng)目某個(gè)模塊及其依賴模塊?

    在 SpringCloud 微服務(wù)框架下,會(huì)存在多個(gè)模塊。當(dāng)我們需要對(duì)其中某一個(gè)服務(wù)打包的時(shí)候,需要將該服務(wù)依賴的模塊一起打包更新,如果項(xiàng)目比較小的話我們可以直接將項(xiàng)目中的所有模塊進(jìn)行 clean install 即可。 但是當(dāng)項(xiàng)目運(yùn)行一段時(shí)間后,項(xiàng)目中的代碼量會(huì)變得很多,每個(gè)模

    2024年01月23日
    瀏覽(34)
  • maven多模塊----子模塊相互依賴打包時(shí)報(bào)錯(cuò)找不到類的解決方案

    在被依賴的模塊pom文件中加上如下配置: 注:如果你的配置文件就是如上配置,那么你需要在maven打包的時(shí)候,install一下,就可以依賴了

    2024年02月16日
    瀏覽(93)
  • 解決多模塊內(nèi)核心模塊有接口打包成jar后被依賴并調(diào)用遇到的問題(springcloud集成ruoyi.quartz)

    解決多模塊內(nèi)核心模塊有接口打包成jar后被依賴并調(diào)用遇到的問題(springcloud集成ruoyi.quartz)

    項(xiàng)目準(zhǔn)備開發(fā)個(gè)新功能,剛好很喜歡ruoyi寫的任務(wù)調(diào)度,因此想到了集成ruoyi.quartz模塊?,遇到了很多問題: 首先因?yàn)?ruoyi.quartz模塊依賴了ruoyi.common模塊,因此第一步我需要把common模塊一部分依賴項(xiàng)復(fù)制到了quartz模塊內(nèi)(復(fù)制的內(nèi)容就是common文件夾內(nèi)的,未用到的部門被我剔除

    2024年02月12日
    瀏覽(24)
  • 關(guān)于exe4j如何將java jar包打包成windows系統(tǒng)exe可執(zhí)行文件,并包含JDK環(huán)境,超詳細(xì)教程

    關(guān)于exe4j如何將java jar包打包成windows系統(tǒng)exe可執(zhí)行文件,并包含JDK環(huán)境,超詳細(xì)教程

    最近做了幾個(gè)javaFX桌面軟件,因?yàn)槭莔aven項(xiàng)目,最后打包出來的是jar包,windows系統(tǒng)下要運(yùn)行jar包,首先要安裝JDK環(huán)境,然后敲命令:java -jar xxx.jar,才能運(yùn)行程序,這樣會(huì)顯得很麻煩。而且前提是用戶已經(jīng)安裝了JDK環(huán)境,所以實(shí)用性大大降低。這時(shí)就需要把jar包轉(zhuǎn)化成exe可執(zhí)

    2024年04月28日
    瀏覽(22)
  • Maven高級(jí)-分模塊開發(fā)&依賴管理

    Maven高級(jí)-分模塊開發(fā)&依賴管理

    目標(biāo) 理解并實(shí)現(xiàn)分模塊開發(fā) (1)按照功能拆分 我們現(xiàn)在的項(xiàng)目都是在一個(gè)模塊中,比如前面的SSM整合開發(fā)。雖然這樣做功能也都實(shí)現(xiàn)了,但是也存在了一些問題,我們拿銀行的項(xiàng)目為例來聊聊這個(gè)事。 網(wǎng)絡(luò)沒有那么發(fā)達(dá)的時(shí)候,我們需要到銀行柜臺(tái)或者取款機(jī)進(jìn)行業(yè)務(wù)操作

    2023年04月09日
    瀏覽(23)
  • springboot打包時(shí)依賴jar和項(xiàng)目jar分開打包;jar包瘦身

    springboot打包時(shí)依賴jar和項(xiàng)目jar分開打包;jar包瘦身

    最近感覺項(xiàng)目在部署時(shí)時(shí) jar 包傳輸太慢了; 看了下 jar 包內(nèi)容,除了項(xiàng)目代碼,其余大部分都是依賴 jar ; 平時(shí)改動(dòng)較多的只是項(xiàng)目代碼,依賴 jar 改動(dòng)比較少; 所以就在想能不能分開打包;這樣只部署項(xiàng)目代碼的改動(dòng)就快多了; 我的 jdk 版本: 17 springboot 版本: 3.1.2 將依賴

    2024年02月06日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包