Maven 如何使此路径适用于任何具有.m2目录的计算机?
我已经编写了一个mojo来提取zip文件。(我不使用maven依赖插件来提取它是有原因的)。我在Mojo中有一个zip文件的路径,它是硬编码的Maven 如何使此路径适用于任何具有.m2目录的计算机?,maven,Maven,我已经编写了一个mojo来提取zip文件。(我不使用maven依赖插件来提取它是有原因的)。我在Mojo中有一个zip文件的路径,它是硬编码的 String zipFilePath = "/home/<my-username>/.m2/repository/mytest/template/app/mytest-template-app/1.0-SNAPSHOT/mytest-template-app-1.0-SNAPSHOT.zip"; 我已经使用工件id+版本创建了zip文件名
String zipFilePath = "/home/<my-username>/.m2/repository/mytest/template/app/mytest-template-app/1.0-SNAPSHOT/mytest-template-app-1.0-SNAPSHOT.zip";
我已经使用工件id+版本创建了zip文件名
如何通过在运行此代码的计算机中动态获取.m2文件夹来修改此文件路径以动态获取
(我正在使用Ubuntu。)如果你在写魔咒,这是一种方法:
public class MyMojo extends AbstractMojo {
@Parameter( defaultValue = "${settings}", readonly = true, required = true )
org.apache.maven.settings.Settings settings; // Using FQCN for clarity.
@Override
public void execute() throws MojoExecutionException {
getLog().info("My repo is at " + settings.getLocalRepository());
}
作为补充说明,您的
artifact id=mytest.template.app
不会转换为mytest template app
,因为artifact id
中的点的解释方式与groupId不同,我可以在maven中使用${settings.localRepository}来获取.m2存储库。是否可以在java中使用相同的功能?如果是,我如何在java中使用它?
public class MyMojo extends AbstractMojo {
@Parameter( defaultValue = "${settings}", readonly = true, required = true )
org.apache.maven.settings.Settings settings; // Using FQCN for clarity.
@Override
public void execute() throws MojoExecutionException {
getLog().info("My repo is at " + settings.getLocalRepository());
}