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

将本地Maven项目解析为Jenkins中的依赖项

汪永春
2023-03-14

我有两个maven项目将它们称为MainProject和DependnecyProject。我在MainProject项目中使用了DependnecyProject函数,这意味着DependnecyProject是MainProject项目的依赖项。

MainProject pom.xml

    <dependency>
        <groupId>testgroup</groupId>
        <artifactId>DependnecyProject</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <scope>compile</scope>
    </dependency>

在我的本地eclipse中,这是完全完美的,执行没有任何问题。

    <dependency>
        <groupId>testgroup</groupId>
        <artifactId>DependnecyProject</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <scope>system</scope>
        <systemPath>C:\Users\cpratap\New-Workspace\Child\target\Parent-0.0.1-SNAPSHOT.jar</systemPath>
    </dependency>

它在本地很好地工作,但不知道如何使它在詹金斯一样工作?

共有1个答案

孙熠彤
2023-03-14

如果您将jar与源代码一起放入vcs中,那么这样做的方法就是在pom.xml文件中声明存储库,并将jar用作依赖项。

例如,如果您将jar放到项目的lib目录中,那么在项目中就是这样使用它的。假设您的jar名称是hello-world-library-1.0-snapshot.jar,您希望您的groupId是com.local,您的artifactId是hello-world-library-local,并且版本是1.0-snapshot

首先,您应该在项目的目录中创建本地存储库,并将jar放在那里。

mvn \
deploy:deploy-file \
-Durl=file:./lib \
-Dfile=hello-world-library-1.0-SNAPSHOT.jar \
-DgroupId=com.local \
-DartifactId=hello-world-library-local \
-Dpackaging=jar \
-Dversion=1.0-SNAPSHOT

然后将本地存储库添加到pom.xml

<repositories>
    <repository>
        <id>localrep</id>
        <name>local repository</name>
        <url>file:${project.basedir}/lib</url>
    </repository>
</repositories>

然后,将jar作为依赖项添加到pom.xml文件中的dependencies块

    <dependencies>
        <dependency>
            <groupId>com.local</groupId>
            <artifactId>hello-world-library-local</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

如果您希望将jar与源代码一起分发,并且不希望每次在新机器上构建时都扰乱项目的设置,则可以使用该方法。

 类似资料:
  • 我想通过Jenkins用maven Build运行一个项目。 使用的存储库-Git从存储库中提取代码 使用的构建工具--Maven 我的jenkins控制台输出 请注意:-如果你看不到图像,只需使用Ctrl++缩放即可

  • 问题内容: 我创建了一个新的Spring Web应用程序,我非常想使用Maven处理构建/依赖关系。我的问题是,该项目依赖于一些现有的本地项目,而目前尚无法对它们进行美化。是否有可能依赖这些项目而不破坏它们? 问题答案: 不,您不应该尝试这样做。Maven的主要目标是拥有标准化的构建。这就是使Maven易于使用的原因:异常不是常态。这就是为什么Maven要求所有依赖项都采用典型的Maven格式(P

  • 我希望有人面对同样的问题来解决依赖。下面提到的文件 xsi:schemalocation=“http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”xmlns=“http://maven.apache.org/pom/4.0.0”xmlns:xsi=“http://www.w3.org/2001/x

  • 我有一个关于Maven依赖解析机制如何在多模块项目中工作的问题。 通常,我只在构建多模块项目时使用“mvn clean install”,我的假设是,如果项目中的任何模块需要以前的模块,依赖关系将通过访问本地存储库并加载相应的“jar”来解决。 由于项目内部原因,我必须使用“mvn清洁编译”,这个命令自然不会创建任何“jar”,而“install”不存在。所以在这里我开始想知道,多模块项目的依赖项

  • 我有一个Apache Ivy(版本2.4.0)和Netbean IDE(8.0.2)的设置。我无法解决成熟的maven项目的依赖关系(例如:org.glassfish.jersey)。Apache Ivy成功地解决了更特定模块的依赖关系,如(org.glassfish.jersey.core)。 非工作示例: 工作实例: 常春藤。xml ivysettings。xml build.xml(只是IV

  • 我有一个使用Gradle作为构建工具的项目和第二个使用Maven的POM的子项目。我没有在子项目上更改构建工具的自由。 我想要实现的是将我的项目添加到Maven POM中,作为我的Gradle项目的依赖项。 其中root(当前目录)是我的Gradle项目,并包含,Maven项目位于下,POM文件就在该目录下。 我在我的< code>build.gradle文件中尝试了这些变化: 第一次尝试: 第二