提问人:DDS 提问时间:11/16/2023 更新时间:11/16/2023 访问量:15
Java- 使用 ArtifactVersionCollector 从 pom 收集版本
Java- gathering versions from pom with ArtifactVersionCollector
问:
我有一个应用程序,在 IntellIJ 中配置了 java 子模块(java 子模块未命名)。
每个子模块在他的基本文件夹中都有自己的 pom(编译工作正常)。
我的目标是让这个函数适用于每个子模块
import de.westemeyer.version.service.ArtifactVersionCollector;
class Main {
static String getVersion(){
String modname = "Main";
return modname + ":" + ArtifactVersionCollector.findArtifact("com.dds.project",modname);
}
public static void main(String[] argv){
for(var v : artifactVersionCollector.collectArtifacts().toArray()){
sLogger.error( "{}", v );
}
}
}
class Prj2 {
static String getVersion(){
String modname = "prj2";
return modname + ":" + ArtifactVersionCollector.findArtifact("com.dds.project",modname);
}
}
class Prj3 {
static String getVersion(){
String modname = "prj3";
return modname + ":" + ArtifactVersionCollector.findArtifact("com.dds.project",modname);
}
}
现在,如果我从 IJ(作为 Java 应用程序)运行应用程序,我可以获得版本,但如果我从 jar(也从 IJ)运行它,我只能获得单个组件的版本
注意:要制作我使用的 jar,我使用与 IJ 运行配置相同的工作目录运行它。mvn clean package
base
|
- prj1
--src
--- Main.java
--pom.xml (Main:V1)
- prj2
--src
--- File2.java
--pom.xml (prj2:V2)
- prj3
--src
--- File3.java
--pom.xml (prj3:V3)
- pom.xml (base:va) <== this one contains the modules section
现在如果我在Main.java中运行上面的调用,我会得到Prj3的版本(prj3:v3)
答: 暂无答案
评论
File3.java
src
src/main/java/<package>