我可以在本地機器上構建我的Java項目,它使用maven成功構建。但是,當我在Jenkins機器上構建它時,出現編譯錯誤:Maven錯誤:程序包不存在
package javax.jms does not exist
這是什麼意思?它在哪裏尋找javax.jms?在本地m2回購中,classpath?
我不得不作出以下修改我的pom.xml得到它工作在Linux上:
一)明確指出Maven的網站插件版本2.1。 org.apache.maven.plugins Maven的網站插件改變Maven的萬無一失插件版本 2.1
B)從2.4.3 2.18.1 Maven的萬無一失,插件 2.18.1
三)增加了以下的依存關係:
<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? –
通常,當您在本地構建時,Maven將從互聯網上拉下所需的依賴關係。對於比較官方的構建,比如說企業環境,這些依賴關係將從標準的內部maven回購庫中提取。這可能只是將依賴添加到該回購的問題。 – unigeek
您也可以查看Jenkins盒子上的Maven的settings.xml配置文件以查看存儲庫位置。見http://maven.apache.org/settings.html – unigeek