1. 程式人生 > >maven打包包含本地jar包

maven打包包含本地jar包

maven工程中,在pom檔案中配置依賴包。但是在開發中,要做使用華為、小米、信鴿推送,這些jar沒有pom配置地址,只能本地引用。在eclipse中可以在build path中新增jar包,但是單獨編譯maven工程時,就會報錯。

解決方法:在pom檔案中新增如下配置,可以在編譯的時候引用到這些本地jar包

 <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
 <compilerArguments>
<extdirs>lib</extdirs>
</compilerArguments>
</configuration>
</plugin>
新增後,編譯沒有問題,但是部署到tomcat下,執行時又報錯找不到包,

檢視打成的war包下WEB_INFO/lib下沒有這些jar包

參考http://blog.csdn.net/l1028386804/article/details/52594602,新增如下配置後,war包中包含了本地jar包,從而解決了這一問題。

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>     
<resource>     
<directory>/lib</directory>   
<targetPath>WEB-INF/lib</targetPath>  
<filtering>true</filtering>    
<includes>    
<include>**/*.jar</include>   
</includes> 
</resource>  
</webResources>
</configuration>
</plugin>
#######################2017-05-15更新################################
採用以上方式,jar包打包到war包中,但是本地jar包在war包中都損壞了,無法使用。
因此,重新查詢方法,使用如下配置,jar包沒有損壞,war包可以正常啟動。
1、新增lib包中本地jar包依賴
<dependency>
    <groupId>httpclient</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.3.3</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/httpclient-4.3.3.jar</systemPath>
</dependency>

2、打包時,在外掛plugs中增加如下配置,包含本地jar包
<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
            <webResources>  
                <resource>  
                    <directory>lib/</directory>  
                    <targetPath>WEB-INF/lib</targetPath>  
                    <includes>  
                        <include>**/*.jar</include>  
                    </includes>  
                </resource>  
           </webResources>
        </configuration>
    </plugin>
</plugins>



相關推薦

maven打包包含本地jar

maven工程中,在pom檔案中配置依賴包。但是在開發中,要做使用華為、小米、信鴿推送,這些jar沒有pom配置地址,只能本地引用。在eclipse中可以在build path中新增jar包,但是單獨編譯maven工程時,就會報錯。 解決方法:在pom檔案中新增如下配置,可

Maven中新增本地Jar,並在打包時新增到war中

在我們使用Maven進行依賴管理時,有些jar包沒有提供maven倉庫的repo,我們可以釋出到本地倉庫,也可以直接從本地進行新增, 如下圖這種方式 ``` <dependency> <groupId>com.youzan</g

maven無法載入本地jar以及maven專案打包本地jar沒有打進專案的問題解決辦法

1、首先設定依賴項,這樣maven就會把該路徑下的jar包匯入專案引用 <dependency> <groupId>DPSDK-Manager</groupId&g

maven打包可執行jar

version 打開 print cto tid directory tor group XML 創建一個文件夾haha,裏面包含三項 Haha.java Main.java pom.xml pom.xml <?xml version="1.0"

maven加載本地jar到repository

please cto lease invoke require clas correct install jar包 maven加載本地jar到repository   這是一個常見場景,此處以本地opencv jar文件導入repository為例 1.Ubuntu下

頹廢的悠然 maven打包成第三方jar且把pom依賴打入進來

頹廢的悠然 maven打包成第三方jar包且把pom依賴包打入進來 <build> <plugins> <plugin> <ar

maven編譯引入本地jar-解決Maven中使用很多本地jar的編譯問題

Maven依賴本地非repository中的jar包,依賴jar包放在WEB-INF/lib等目錄下的情況客戶端編譯出錯的處理。 Maven提供了scope為system的依賴,文件的原文如下: system This scope is similar to provi

IntelliJ IDEA 的maven工程將本地jar打到war

pom.xml檔案修改: <groupId>com.borya</groupId> <artifactId>Project</artifactId> <version>0.0.1-SNAPSHOT</version> <

maven專案使用本地jar

問題描述 今天自己寫demo需要用到jodconverter-2.2.2.jar,但是maven庫中只有2.2.1的版本。我看網上有提供jar包的。於是我下載下來,但是怎麼引用到pom檔案中呢?並且保證之後打包能夠正常執行。終於找到一個正確 的方案,親測可用,這裡只說我用的那種方案 具體操作 其實,這種

Maven工程引入本地jar

system tid 項目 ati 依賴 fig getpath basedir 開源庫 項目中要引入另一個項目的jar包, 不在開源庫中。 可以把包復制到本地maven倉庫中; 也可以在配置文件中配置路徑。 1.在src目錄同級創建一個lib文件夾,將jar包拷貝到li

spring boot maven打包可執行jar

普通打包之後在程式目錄執行,或者編寫bat執行時會提示“沒有主清單屬性”,這是因為並沒有找到main()方法,需要我們指明告訴java程式 我bat中的程式碼 @echo off title mytitle java -jar ysl-ts-web-base-1.0-SNAPSHOT.jar pause

Maven中新增本地jar

          在使用Maven的過程中,經常碰到有些jar包在中央倉庫沒有的情況。如果公司有私服,那麼就把jar包安裝到私服上。如果沒有私服,那就把jar包安裝到本地Maven倉庫。今天介紹2種安裝jar包到本地Maven倉庫的方法,下面進入正題。一、使用Maven命令安裝jar包    在window

maven:把本地jar匯入到maven倉庫中

在用maven開發是程式時。大多數不用自己配jar包。但有的時候還是需要自己手動新增自己本地jar包。可以從pom.xml檔案中找出要新增什麼型別的包。如: 這個包不能用。 例如: 我下載的這個 jar 包是放到了 D:\mvn 目錄下(D:\mvn\class12-10.

利用MAVEN打包可執行jar,包括依賴的第三方

看下專案pom.xml的配置,首先要配置maven-jar-plugin,把自己的程式碼編譯打包成jar檔案,然後配置maven-assembly-plugin,把整個專案打包成一個釋出包。 Xml程式碼  收藏程式碼 <build>       <pl

maven 打包可執行jar

Maven可以使用mvn package指令對專案進行打包,如果使用Java -jar xxx.jar執行執行jar檔案,會出現"no main manifest attribute, in xxx.jar"(沒有設定Main-Class)、ClassNotFou

Maven中使用本地JAR

在Maven專案中使用本地JAR包有兩種方法: 1. 使用system scope <dependencies> <dependency> <groupId>org.richard</groupId>

maven專案依賴本地jar時編譯生成可執行jar方法

maven專案需要本地jar包時,在根目錄新建lib目錄,將jar包拷貝到lib目錄並且新增到build path此時直接打可執行jar包會出現編譯報錯、啟動時缺少jar包等問題解決方案:    1.增加編譯外掛, 解決Failed to execute goal org.a

通過maven,給沒有pom檔案的jar生成pom檔案,maven專案引入本地jar

問題一: 經常遇到公司私服或者中央倉庫沒有的jar包,然後通過各種渠道找到了解決問題的jar包,但是發現沒有pom檔案,maven專案引入之後或者專案打包的時候報錯,通過maven就可以解決這個問題。前提是你安裝了maven,然後在命令列執行命令就OK了!!! 命令:

Maven中使用本地jar

Step1:在專案中使用本地jar包: 在專案根目錄新建lib資料夾,將所有本地jar包放入該資料夾內 在Maven pom.xm檔案中按如下方式引入本地jar包: scope : 設為system,告訴maven不再從倉庫中查詢jar包 sys

Maven打包可支援jar的幾種方式

Maven打包可執行Jar的幾種方法 一、無依賴其他任何jar <build><finalName>DtuServer-alone</finalName><plugins><plugin><groupI