当前位置: 首页 > 知识库问答 >
问题:

Maven错误:包不存在

任小云
2023-03-14

我能够在本地机器上构建java项目,它使用maven成功构建。然而,当我在Jenkins机器上构建它时,我得到了一个编译错误:

包javax.jms不存在

这是什么意思?它在哪里寻找javax。jms?在本地m2回购中,classpath?

我不得不对我的pom进行以下更改。xml使其在Linux上工作:

a)明确声明maven-site-plugin版本为2.1。org.apache.maven.pluginsmaven-site-plugin 2.1

b) 将maven surefire插件版本从2.4.3更改为2.18.1 maven surefire插件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>

为什么我必须更换pom。Linux上的xml。该版本在我的Windows 7机器上运行,无需更改pom。xml。

共有1个答案

范翰飞
2023-03-14

首先,尝试检查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中。

 类似资料:
  • 问题内容: 我正在尝试使用maven创建javadoc,但失败。进行验证时,它也会失败。 我收到以下错误: 在我的pom.xml文件中,有以下几行: 我的本地存储库包含junit jar文件: 该代码很好,因为在我现在无法访问的笔记本电脑中,我运行: 没问题,测试也可以在Eclipse IDE中使用。 问题答案: 好的,您仅声明了对类的依赖(位于中的类,但是您试图在类(位于中的类中)使用它。 要么

  • 我添加了以下内容。JAR作为库的外部JAR。 C: \用户\用户\下载\通用语言3。jar\common-lang3。jar C:\Users\user\Downloads\matlabcontrol\matlabcontrol-4.1.0。罐子 但是,在Eclipse中干净安装Maven构建期间,我收到以下错误: 库中JAR的来源指向正确的JAR。我能够在自己的代码中使用JAR中的代码。 当在导

  • 我正在尝试向现有的企业项目添加maven支持。这是一个多模块项目,前两个模块的编译和打包没有问题,但我面临编译错误,我试图在多个模块中使用相同的依赖关系。我的结构是: 我支持在Eclipse上打开的项目,它没有显示任何错误。当我从父级运行时,它成功地安装了模块1和模块2,但在模块3上失败,表明,。包裹xxx。yyy和符号XXXYYY位于模块2和3的依赖项上列出的jar中。 由于两个模块都依赖于同一

  • 当我试图通过[mvn clean install-DskipTests]通过控制台构建项目时,我得到了一个错误。我在测试中使用testNG SoftAssert,在测试类中我刚刚添加了一个导入组织。测试NG。断言。但是看起来maven没有看到这个包。控制台出错: 包org.testng.asserts不存在 我的pom。xml看起来像

  • Intellij版本:Community 2019.2.3 Maven:3.6.2 Spring:2.2.0 我正在尝试创建一个非常简单的Spring maven项目,其中包含两个子模块(一个独立,另一个依赖于独立)。 根模块-测试多模块独立模块-独立依赖模块-依赖 测试多模块pom。xml具有所有与Spring相关的声明和模块定义 独立poom。xml是最简单的。只有父maven声明 从属模块p

  • 得到如下错误: Jenkins编译错误 [javac] /var/lib/jenkins/workspace/CWL_Smoke_New/SeleniumFW/CWL_NewSuite/src/com/collegeweeklive/common/AppLibrary.java:14:错误:包org.apache.commons.lang3不存在 [javac]导入org.apache.commo