Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Jenkins中更改JAR构建路径?_Java_Maven_Jenkins_Jenkins Pipeline - Fatal编程技术网

Java 如何在Jenkins中更改JAR构建路径?

Java 如何在Jenkins中更改JAR构建路径?,java,maven,jenkins,jenkins-pipeline,Java,Maven,Jenkins,Jenkins Pipeline,我正在通过Jenkins构建一个Java项目。JAR是在C:\Windows\System32\config\systemprofile.m2\repository\com\other文件夹中创建的(在我在Jenkins中执行maven clean安装之后) 有没有办法改变这条路?我想通过SSH将JAR发送到VM。但是,我无法访问此文件夹,因为这是系统目录 谢谢。如果您使用maven进行构建,请将以下内容添加到pom.xml中 <build> <plugins> &l

我正在通过Jenkins构建一个Java项目。JAR是在C:\Windows\System32\config\systemprofile.m2\repository\com\other文件夹中创建的(在我在Jenkins中执行maven clean安装之后)

有没有办法改变这条路?我想通过SSH将JAR发送到VM。但是,我无法访问此文件夹,因为这是系统目录


谢谢。

如果您使用maven进行构建,请将以下内容添加到pom.xml中

<build>
  <plugins>
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <version>2.3.1</version>
  <configuration>
    <outputDirectory>your custom location</outputDirectory>
  </configuration>
</plugin>
</plugins>
</build>

org.apache.maven.plugins
maven jar插件
2.3.1
您的自定义位置

默认情况下,maven应该在
target
目录下的
pom.xml
旁边创建构建工件(包括JAR文件)

通过指定生成目录,可以在
pom.xml
中更改此行为:

<build>
   <directory>/some/other/dir</directory>
</build>

/一些/其他/目录

您所指的目录是本地maven存储库,其中包含maven正在使用的所有JAR文件。您可以阅读有关本地maven存储库的更多信息。

出于某种原因,您的Jenkins将此目录用作本地maven存储库。我会在Jenkins或
settings.xml
中定义一个不同的本地存储库。同样重要的是,您要确保没有两个正在运行的构建同时使用相同的本地存储库,因为本地存储库不能同时使用。

您可以使用将创建的工件复制到特定位置……此外,您不需要
mvn clean install
mvn clean package
是否需要。。。?另一个更好的选择是将您的工件部署到存储库管理器,并在构建管道中执行单独的步骤,获取工件并将其部署到您需要的位置。。