我尝试制作一些maven插件。我需要在安装阶段之后获取工件和pom.xml的路径。我有这样的神器路径:
d:\工作\测试\ MVN \ moduleFirst \目标\第一-1.0-SNAPSHOT.jar
像这样的pom.xml路径:
d:\工作\测试\ MVN \ moduleFirst \ pom.xml的
但是如果在pom.xml包中设置了“pom”,那么我得到了这样的工件路径:
C:\用户\ user.m2 \库\ COM \测试\ MVN \ 1.0-SNAPSHOT \ MVN-1.0-SNAPSHOT.pom
和pom.xml:
d:\工作\测试\ MVN \ pom.xml的
我想从.m2本地回购获取所有路径。怎么可能?
我制作以下代码:
...
/**
* @parameter default-value="${project.file}"
*/
private File pomFile;
...
/**
* @parameter default-value="${project.artifact}"
*/
private Artifact artifact;
...
public void execute() throws MojoExecutionException {
...
getLog().info("POM file " + pomFile.getAbsolutePath());
getLog().info("Artifact " + artifact.getFile().getAbsolutePath());
...
}
答案 0 :(得分:0)
我找到了解决方案。
...
/**
* @parameter expression="${localRepository}"
* @required
* @readonly
*/
protected ArtifactRepository localRepository;
...
protected String getLocalRepoFile(Artifact artifact) {
File file = new File(localRepository.getBasedir(), localRepository.pathOf(artifact));
return file.getAbsolutePath();
}
...
public void execute() throws MojoExecutionException {
...
getLog().info("Artifact " + getLocalRepoFile(artifact));
...
}
感谢maven-install-plugin:)