簡體   English   中英

外部Maven回購和詹金斯

[英]external maven repo and jenkins

我有一個外部jar(意味着在公共倉庫中不可用),我希望將其包含在我的構建中。 我使用了以下網站上的說明: http : //charlie.cu.cc/2012/06/how-add-external-libraries-maven/,並且在我將mvn安裝到PC上時也可以使用。 但是,當我使用Jenkins構建Maven項目時,出現以下錯誤:

執行Maven:-B -f D:\\ Program Files(x86)\\ Jenkins \\ workspace \\ rmy job \\ pom.xml安裝[INFO]掃描項目... [INFO]

[信息]

[INFO]建築物xxxxxx 0.0.1-SNAPSHOT [INFO]

[警告]缺少sqljdbc:sqljdbc_4.0:jar:v4的POM,沒有可用的依賴項信息

[信息]

[INFO]建立失敗[INFO] ------------------------------------------ ------------------------------ [INFO]總計

時間:1.705秒[INFO]完成時間:2014年2月11日星期二10:29:23

[INFO]最終內存:13M / 307M [錯誤]無法在項目xxxxxx上執行目標:無法解析項目com.xx:xxxxxxx:jar:0.0.1-SNAPSHOT的依賴項:找不到sqljdbc:sqljdbc_4.0:jar http://repository.codehaus.org/org/codehaus中的:v4已緩存在本地存儲庫中,直到codehaus的更新間隔或強制執行更新后,才會重新嘗試解析-> [幫助1]

我正在使用的pom具有以下用於存儲庫的條目:

    <repositories>
<repository>
    <id>codehaus</id>
    <url>http://repository.codehaus.org/org/codehaus</url>
</repository>

<!-- In Project repository -->
<repository>
    <id>in-project</id>
    <name>In Project Repo</name>
    <url>file://${project.basedir}/libs</url>
</repository>

任何想法為什么會這樣?

經過一番嘗試,我在pom.xml中做了以下解決方法

<repository>
    <id>in-project</id>
    <name>In Project Repo</name>
    <url>file://${project.basedir}/libs</url>
</repository>

<dependency>
    <groupId>sqljdbc</groupId>
    <artifactId>sqljdbc_4.0</artifactId>
    <version>v4</version>
      <scope>system</scope>
    <systemPath>${project.basedir}/libs/sqljdbc/sqljdbc_4.0/v4/sqljdbc_4.0-v4.jar</systemPath>
</dependency>

這意味着系統路徑是一個整體,而不僅僅是

 <url>file://${project.basedir}/lib</url>

如上所述。 通過這種“變通方法”,我可以在本地和遠程工作(Jenkins-Git)

通常,我始終強烈建議

  • 使用Maven Repository Manager(例如Nexus)
  • 僅在Maven Repository Manager中管理存儲庫,而不在POM中管理存儲庫
  • 使用Maven資源庫管理器來托管其他任何資源庫都無法提供的第三方庫
  • 配置您的設置文件

這是獲得穩定且可復制的內部版本的關鍵-即使其中一個存儲庫暫時不可用。

實際上,這可能是hppen無法從lib獲取jar。

用其他方式。

  1. 右鍵項目
  2. 選擇物業
  3. Java構建路徑
  4. 選擇庫
  5. 添加外部jar並放置jar文件的設置路徑
  6. 清理並構建您的項目。

要么

    <repositories>
        <repository>
        <id>local123</id>
        <name>localRepo</name>
        <url>file://${project.basedir}/lib</url>
        </repository>
     </repositories>

嘗試將這段代碼放在pom.xml文件中。

希望您的問題可以使用此解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM