2010-07-14 40 views

回答

5

你基本上有三種選擇:

  • 安裝使用install:install-file在你的本地庫的jar(見Guide to installing 3rd party JARs)。這非常簡單直接,但這會使您的POM不便攜。這可能是一個選項,如果你一個人,並不打算分發你的pom.xml。

  • 使用deploy:deploy-file將jar部署到公司存儲庫中。這當然是企業環境中的理想和首選方案。

  • 如果您沒有使用公司存儲庫,但仍然在團隊中工作,請通過您的源代碼存儲庫共享它,setup a file based repository

0

試圖猜測的問題是什麼:

1)你有罐子foo.jar中
2)你有一個非行家B項目要使用同一個罐子在Maven項目一(不使用maven)
3)你在windows?

如果這是真的,那麼:

圍棋從c:\documents and settings\your_username\.m2\name_of_jar,抓住罐子,堅持在項目B的WEB-INF/lib目錄

6

最簡單的辦法就是用maven:install-file安裝JAR在你的本地庫,如下(從被盜the docs

mvn install:install-file -Dfile=path-to-non-maven.jar \ 
         -DgroupId=some-id \ 
         -DartifactId=some-artifact \ 
         -Dversion=some-version \ 
         -Dpackaging=jar 

然後將其添加到您的POM像任何其他的依賴。如果需要與很多人分享,你可以合作。建議設立一個類似於NexusArtifactory(我們使用Artifactory的地方,它工作良好)的本地實例。

0

maven install:安裝文件非常適合將本地JAR添加到緩存,但是如果您在外部使用存儲庫(即Archiva或Nexus),那麼最好將它提供給所有人「mvn deploy:deploy-file」 - 該命令的類似參數。

剛剛在本地安裝意味着,如果因爲任何原因清除本地緩存(我已經結束多次這樣做來解決這個或那個本地緩存受損的問題),那麼你也會丟失本地的JAR並且需要記住重新添加它。如果它通過Nexus或Archiva存儲在本地DSL存儲庫中,則狀態良好 - 只需將生成的groupId,artifactId添加到POM中並繼續。

4

Google addjars maven plugin是個不錯的主意。這可以通過以下步驟完成:

  1. 將所有依賴關係添加到lib文件夾代碼庫。

  2. 加入谷歌addjars插件來<build>

    <plugin> 
         <groupId>com.googlecode.addjars-maven-plugin</groupId> 
         <artifactId>addjars-maven-plugin</artifactId> 
         <version>1.0.5</version> 
         <executions> 
          <execution> 
           <goals> 
            <goal>add-jars</goal> 
           </goals> 
           <configuration> 
            <resources> 
             <resource> 
              <directory>${basedir}/lib</directory> 
             </resource> 
            </resources> 
           </configuration> 
          </execution> 
         </executions> 
        </plugin> 
    
  3. mvn compile現在將創建一個本地的回購協議,並添加所有罐子的依賴關係。然後mvn compile將作爲魅力。

  4. 讓想法解決依賴關係去module settings -> modules -> dependencies添加lib文件夾。

參考:https://code.google.com/archive/p/addjars-maven-plugin/issues

相關問題