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