導航:首頁 > 凈水問答 > maven打jar包過濾文件

maven打jar包過濾文件

發布時間:2021-02-13 16:20:08

㈠ 如何將maven依賴項打進jar包

在repository中建文件夾然後把jar包放進去Maven是基於項目對象模型(POM),可以通過一小段描述信回息來管理項目的構建答,報告和文檔的軟體項目管理工具。Maven除了以程序構建能力為特色之外,還提供高級項目管理工具。由於Maven的預設構建規則有較高的可重用性,所以常常用兩三行Maven構建腳本就可以構建簡單的項目。由於Maven的面向項目的方法,許多ApacheJakarta項目發文時使用Maven,而且公司項目採用Maven的比例在持續增長。Maven這個單詞來自於意第緒語,意為知識的積累,最早在JakataTurbine項目中它開始被用來試圖簡化構建過程。當時有很多項目,它們的Antbuild文件僅有細微的差別,而JAR文件都由CVS來維護。於是Maven創始者開始了Maven這個項目,該項目的清晰定義包括,一種很方便的發布項目信息的方式,以及一種在多個項目中共享JAR的方式。

㈡ 如何配置maven pom文件來解決jar包沖突

maven3在解決依賴沖突採用就近原則,在就近原則不能做出判斷的情況下依據pom.xml的聲明的先後順序決定導入的jar。
jar包沖突多為傳遞性依賴的管理不當給項目帶來的麻煩解決思路羅列如下:
1、首先查看當前項目的jar關系如果使用eclipse、idea等編輯器可打開pom.xml文檔底部有Dependency Hierarchy可供查看jar的依賴情況。第二種使用maven插件的方式使用命令行:

1

mvn dependency:tree

結果中重要的是兩個部分,首先是Used undeclared dependencies意值項目中使用到的,但是沒有顯示聲明的依賴。這種依賴意味著潛在的風險。他是通過其他直接依賴導入的傳遞性依賴,當直接依賴升級時相關依賴的版本也會變化。可能導致當前項目報錯,且不易察覺。另一個部分是Unused declared dependencies意指項目中未使用的,但顯式聲明的依賴。需要注意的是我們不應該直接刪除了事而是應該仔細分析。因為這個命令行發現不了執行測試和運行時需要的依賴。
以上方法都可可完整的查看當前項目的jar情況,個人更喜歡使用命令行。

2、通過以上方法我們可以看到項目中引用jar版本號;接下來就是如何排除掉我們不想要版本的jar;語法如下:

1
2
3
4
5
6
7
8
9
10
11
12

<dependency>
<groupId>.....</grooupId>
<artifactId>....</artifactId>
<version>...</version>
<exclusions>
<exclusion>
<groupId>.....</groupId>
<artifactId>.....</artifactId>
</exclusion>
</exclesions>
<dependency>
<!--exclusions可包含一個或多個exclusion元素-->

3、一下規避jar沖突的思路,如果項目中有直接用到某個jar而這個jar已通過傳遞依賴的方式引入到maven項目里了。最好排除這個傳遞依賴在pom裡面明確的聲明這個依賴。歸類依賴,不斷的優化依賴如,去除多餘的依賴。

㈢ maven打jar包 依賴包需要嗎

maven打包的時候默認是不加入依賴的jar包的,所以想打出一個獨立的可運行jar包的話直接mvn clean install package是不行的。需要略改動下pom文件,加入如下plugin
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<source>1.5</source>
<target>1.5</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix></classpathPrefix>
<mainClass>com.xx.xx.xx</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id></id>
<phase>install</phase>
<goals>
<goal>-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${project.build.directory}
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.2</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>

maven打包的時候有些jar包是不在mavencenter的。需要在pom中引入相關的本地jar包,那麼相關的depency應該像如下更改

<dependency>
<groupId>org.wltea.ik-analyzer</groupId>
<artifactId>ik-analyzer</artifactId>
<version>3.2.8</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/ik-analyzer-3.2.8.jar</systemPath>
</dependency>

對於war包系統來說,有時候需要把jar包打到相關的war包中,可以使用plugin,默認將lib下的所有jar文件打包到WEB-INF/lib下。當然也是可以打包其他的文件的,諸如xml,properties等的。相關的plugin如下:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<warName>${project.artifactId}</warName>
<webResources>
<resource>
<directory>lib/</directory>
<targetPath>WEB-INF/lib</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>

㈣ maven打包jar包時如何打包本地jar文件

本地jar添加到maven倉庫的方法。 有些包在mvn repository是沒有的,例如IKAnlyzer.jar,那我們又想讓maven幫助我們管理,怎麼辦呢?

一、安裝maven環境,配置環境變數

二、下載你需要加入到maven的jar包

1、配置maven環境,計算機-屬性-高級系統設置-環境變數,添加系統變數MAVEN_HOME。值指向bin層,復制到變數值裡面。

我下載的是apache-maven-3.3.9

2、下載需要加入到maven的包,我這里的例子是IKAnlyzer,因為他在maven倉庫里沒有。

2.1、先測試maven環境變數是否安裝成功

cmd後輸入 mvn -v

2.2、在cmd中輸入

mvn install:install-file -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 -Dfile=E:IKAnalyzer3.2.8.jar -Dpackaging=jar

這些參數與pom.xml裡面的參數對應關系。其實4是本地jar的路徑。我把包放在E盤了。 如圖:

那在pom.xml 加入:

㈤ 如何用maven將配置文件打在jar包外

一、導出到默認目錄 targed/dependency
從Maven項目中導出項目依賴的包:進入工程pom.xml 所在的目錄下,執行如下命令:
1、mvn dependency:-dependencies或在eclipse中,選擇項目的pom.xml文件,點擊右鍵菜單中的Run As,見下圖紅框中,在彈出的Configuration窗口中,輸入 dependency:-dependencies後,點擊運行;
2、maven項目所依賴的jar包會導出到targed/dependency目錄中。
二、導出到自定義目錄中
在maven項目下創建lib文件夾,輸入以下命令:
1、mvn dependency:-dependencies -DoutputDirectory=lib;
2、maven項目所依賴的jar包都會復制到項目目錄下的lib目錄下。
三、設置依賴級別
同時可以設置依賴級別,通常使用compile級別
mvn dependency:-dependencies -DoutputDirectory=lib -DincludeScope=compile

㈥ 請問maven工程jar包,war包,pom打包,都是怎麼定的

首先maven 工程是通過你的pom文件的設定來打包
jar 和war是兩種打包方式,可以在pom文件中設定的
1、專jar包主要應用於java 命令屬執行 比如java -jar
2、war包一般用於tomcat容器
現在springboot應用比較廣,內置了tomcat容器,通常打包是jar多一點

㈦ java jar怎麼把指定目錄排除掉再進行打包

在項目的pom.xml文件裡面添加如下配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<warName>loginweb</warName>
<outputDirectory>target</outputDirectory>
<!-- 排除 -->
<packagingExcludes>
WEB-INF/classes/*jdbc.properties,
WEB-INF/classes/*config.properties,regex[WEB-INF/lib/(?!log4j-1|common-1).*.*.jar]
</packagingExcludes>
</configuration>
</plugin>
配置說明:
1. WEB-INF/classes/*_jdbc.properties: 過濾 任何前綴的 _jdbc.properties 配置文件(如:我上篇博客自動打不同環境的包中提到的添加的不同環境的jdbc配置文件,那麼在打包時候,排除自己添加的這個配置文件)
2. %regex[WEB-INF/lib/(?!log4j-1|common-1)...jar] 通過正在表達式配置打包時,排除除了log4j-1和common-1 的 1.任何版本的jar包。即打包時只添加這兩個jar包到war包裡面,其他的任何jar都排除不打包進去
(PS:為了tomcat 共享jar包,所以項目中不打jar,當然除了自己項目間相互依賴的jar,比如這個jar會經常自己修改,那麼經常修改的,就不排除,打包時候把他們也打進去。對於tomcat如何共享jar包,後續再詳細描述)
3. 如果有多個條件,用逗號隔開。對於packagingExcludes 的詳細使用,請查看官網:
http://maven.apache.org/plugins/maven-war-plugin/examples/including-excluding-files-from-war.html

㈧ 如何執行maven打包的jar包

這個我記得之前遠標教育老師講過,他說
第一步:在你的pom.xml中添加
1<plugin>
2 <artifactId>maven-assembly-plugin</artifactId>
3 <version>2.2</version>
4 <configuration>
5 <archive>
6 <manifest>
7 <mainClass>cn.com.threetcloud.agent.server.BrokerServer</mainClass>
8 </manifest>
9 </archive>
10 <descriptorRefs>
11 <descriptorRef>
12 jar-with-dependencies
13 </descriptorRef>
14 </descriptorRefs>
15 </configuration>
16 </plugin>

第二步:CMD進入到自己的工程文件夾下進行mvn assembly:assembly操作
我的工程是在D:\workspace\test
那麼操作步驟是
1:cmd回車
2:d:回車
3:cd workspace回車
4:cd test回車
5:mvn assembly:assembly回車

第三步:CMD通過java命令運行剛才導出的jar文件,一般導出後在自己工程的target文件夾下面
我的jar導出後在D:\workspace\test\target\agent-server-0.0.1-jar-with-dependencies.jar
那麼操作步驟是
1:cmd回車
2:d:回車
3:cd workspace回車
4:cd test回車
5:cd target回車
5:java -jar agent-server-0.0.1-jar-with-dependencies.jar回車
到此結束。

㈨ maven依賴項目打jar包問題

maven項目可以分為子父級項目,將公有的jar包用父級項目引用,其子級項目都不需要再重新引用了。

㈩ 為什麼Maven打jar包回覆蓋表我自己的MANIFEST.MF文件

<!--打包時,添加信息-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>

<>true</>
<>true</>
</manifest>
<manifestEntries>
<right>feilong</right>
</manifestEntries>
</archive>
</configuration>

</plugin>

上面是我的配置, 你可以使用manifestFile 來指定你的 MANIFEST.MF 文件

閱讀全文

與maven打jar包過濾文件相關的資料

熱點內容
污水尿素怎麼降解 瀏覽:528
河南永城廢水處理多少錢一噸 瀏覽:802
蒸餾氨氮步驟 瀏覽:681
睿馳空氣濾芯怎麼換 瀏覽:77
飲水機不能清洗怎麼辦 瀏覽:196
水處理系統edi 瀏覽:196
康富樂純水機高壓開關怎麼調 瀏覽:836
延安大學咸陽醫院污水處理站 瀏覽:725
老闆的英文郵件可以用中文回嗎 瀏覽:366
3863的飲水機怎麼復位不了 瀏覽:233
家用純水機什麼品牌比較好 瀏覽:719
ft021u是什麼車的空氣濾芯 瀏覽:323
瑞恆pvc樹脂粉廠家 瀏覽:507
江岸區塔子湖准備建污水處理廠 瀏覽:104
廚房便攜凈水器哪個牌子好 瀏覽:886
苯酚與甲醛比例對酚醛樹脂影響 瀏覽:606
瓦斯抽采泵酸洗除垢安全技術措施 瀏覽:727
國家規定含Cr的廢水中 瀏覽:698
速銳空調濾芯怎麼選 瀏覽:802
bjd樹脂過了三年還可以嗎 瀏覽:326