gpt4 book ai didi

maven - 在 Maven 程序集中为依赖项创建符号链接(symbolic link)

转载 作者:行者123 更新时间:2023-12-04 18:07:28 26 4
gpt4 key购买 nike

我有一个 Maven 程序集,在解压 tar 后,创建了三个目录
每个都包含一个/lib 目录。所以例如

folder1/lib
folder2/lib
folder3/lib

目前,我在每个/lib 目录中打包了一个相同的 .jar。由于这是浪费空间,我想知道我是否可以只拥有该 .jar 的一个副本并为其他两个可以引用该 .jar 的位置创建类似于符号链接(symbolic link)的东西?

谢谢!

最佳答案

您可以使用 ant-run 插件的符号链接(symbolic link)任务/目标

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<phase>package</phase>
<configuration>
<target>
<symlink link="folder2/lib/${project.artifactId}-${project.version}.jar"
resource="folder1/lib/${project.artifactId}-${project.version}.jar"/>
<symlink link="folder3/lib/${project.artifactId}-${project.version}.jar"
resource="folder1/lib/${project.artifactId}-${project.version}.jar"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>

如果您希望符号链接(symbolic link)具有相对路径,您可以在资源中提供相对路径,如下所示
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<phase>package</phase>
<configuration>
<target>
<symlink link="folder2/lib/${project.artifactId}-${project.version}.jar"
resource="../../folder1/lib/${project.artifactId}-${project.version}.jar"/>
<symlink link="folder3/lib/${project.artifactId}-${project.version}.jar"
resource="../../folder1/lib/${project.artifactId}-${project.version}.jar"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>

关于maven - 在 Maven 程序集中为依赖项创建符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23703155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com