[英]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.