2012-09-12 105 views
15

我想在maven中建立一個依賴關係的.jar文件。不幸的是,我必須在我的構建路徑中包含一些外部.jars。當我現在嘗試使用maven包來構建這個項目時,我會得到一個錯誤,那些外部的.jars文件沒有找到。如何在maven jar構建過程中包含外部jar?

如何調整我的pom文件以添加這些罐子? 電流:

<plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <executions> 
        <execution> 
         <id>copy-dependencies</id> 
         <phase>prepare-package</phase> 
         <goals> 
          <goal>copy-dependencies</goal> 
         </goals> 
         <configuration> 
          <outputDirectory>${project.build.directory}/classes/lib</outputDirectory> 
          <overWriteReleases>false</overWriteReleases> 
          <overWriteSnapshots>false</overWriteSnapshots> 
          <overWriteIfNewer>true</overWriteIfNewer> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.2-beta-4</version> 
       <configuration> 
        <descriptorRefs> 
         <descriptorRef>jar-with-dependencies</descriptorRef> 
        </descriptorRefs> 
       </configuration> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
    </plugins> 

回答

13

您可以在爲依賴您的構建路徑外部罐子<scope>system</scope>

入住這link

+0

謝謝,這對我的情況很好。 –

+6

它看起來是正確的,但如果它不是JDK的一部分,如示例引用那樣。例如,如果你想引用與pom相同的目錄中的JAR,那該怎麼辦? (在項目文件夾中) – mmcrae

+2

嗯,很好,但是dep將不會與你的jar/war打包在一起。 – demaniak

2

這樣做的一個簡單的解決方案是將其添加到本地的倉庫做

一種方式是通過MVN安裝命令,在以前的帖子建議。另一個簡單的方法是,1)在你的Eclipse IDE中右擊項目選擇Maven選項。 2)選擇安裝或部署工件到Maven存儲庫選項,然後單擊下一步。 3)點擊瀏覽旁邊的神器文件複選框&選擇你的jar文件4)輸入groupId和artifactId和version確保產生POM &創建校驗和檢查&包裝罐子

單擊Finish,Wallah!你的工作做的廣口瓶在本地資源庫中添加,您可以在Setting.xml的或M2目錄定義

現在只需添加簡單的Maven依賴具體根據的GroupId,artifactId的你已經進入具體根據&罐子版本導入,這就是你的外部jar將由maven打包。

2

您需要使用以下命令將外部jar添加到文件夾中的.m2

mvn install:install-file -Dfile=[JAR] -DgroupId=[some.group] -DartifactId=[Some Id] -Dversion=1.0.0 -Dpackaging=jar 

這將增加給定的罐子您的文件夾的.m2。之後,轉到pom.xm,只需添加給定組ID,工件ID和版本的依賴關係。

相關問題