簡體   English   中英

Maven 錯誤:包不存在

[英]Maven error: package does not exist

我能夠在我的本地機器上構建我的 java 項目,它使用 maven 成功構建。 但是,當我在 Jenkins 機器上構建它時,出現編譯錯誤:

javax.jms不存在

這是什么意思? 它在哪里尋找javax.jms 在本地 m2 存儲庫中,類路徑?

我必須對 pom.xml 進行以下更改才能使其在 Linux 上運行:

a) 明確聲明 maven-site-plugin 版本為 2.1。 org.apache.maven.plugins maven-site-plugin 2.1

b) 將 maven-surefire-plugin 版本從 2.4.3 更改為 2.18.1 maven-surefire-plugin 2.18.1

c) 添加了以下依賴項:

     <dependency>
       <groupId>commons-io</groupId>
       <artifactId>commons-io</artifactId>
       <version>1.4</version>
     </dependency>

     <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>1.2</version>
      </dependency>

      <dependency>
            <groupId>com.xx.yyy</groupId>
            <artifactId>jms</artifactId>
            <version>1.1</version>
      </dependency>

      <dependency>
            <groupId>com.xx.yyy</groupId>
            <artifactId>orm</artifactId>
            <version>3.1.0.5</version>
       </dependency>

       <dependency>
            <groupId>org.springframework.ldap</groupId>
            <artifactId>spring-ldap-core</artifactId>
            <version>1.3.0.RELEASE</version>
       </dependency>

為什么我必須在 Linux 上更改 pom.xml。 該構建在我的 Windows 7 機器上運行,而無需更改 pom.xml。

首先,嘗試檢查您是否有正確的 Maven 依賴項來獲取javax.jms包。 您可以嘗試Apache Geronimo依賴項或JavaEE API (參考: javax.jms.* 類的正確 Maven 依賴是什么?

對於Apache Geronimo

  <dependency>
    <groupId>org.apache.geronimo.specs</groupId>
    <artifactId>geronimo-jms_1.1_spec</artifactId>
    <version>1.1.1</version>
  </dependency>

對於JavaEE API

   <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <version>6.0</version>
      <scope>provided</scope>
    </dependency>

此外,請確保您在Jenkins上構建您的應用程序具有以下目標:

mvn clean install

Jenkins機器上使用Maven構建應用程序后,該包應出現在Jenkins本地m2 repo中。

暫無
暫無

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

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