我想在RESTful服务中读取我的maven-project的当前工件版本。我的代码是用JAX-RS(Quarkus)编写的。
我正在使用以下pom.xml
代码段:
<plugin>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-maven-plugin</artifactId>
<version>${quarkus.version}</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
我阅读了以下Java代码段的版本:
String vendor = getClass().getPackage().getImplementationVendor();
在我看来,
quarkus-maven-plugin
忽略了该行,因为maven-jar-plugin
正常工作(我在另一个项目中使用了此代码): <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
我对maven和quarkus并没有真正的深刻了解。
我在设置
quarkus-maven-plugin
时出错了吗?有没有不直接读取
pom.xml
的解决方法?感谢你们对我的帮助。
编辑:
出现以下问题时,我会将该线程标记为“已回答”
已解决(由@Guillaume Smet打开):
https://github.com/quarkusio/quarkus/issues/5023
编辑:
到今天为止问题已解决。
https://github.com/quarkusio/quarkus/issues/5100
最佳答案
添加addDefaultImplementationEntries
将无济于事,我们自己构建jar,并且不向其中推送任何信息。
我为此创建了https://github.com/quarkusio/quarkus/issues/5023。
暂时,您可以将信息推送到清单清单上(如果已有的话,我们会对其进行增强),也可以通过以下方式在REST资源中注入我们从POM文件中得出的值:
@ConfigProperty(name = "quarkus.application.name")
String name;
@ConfigProperty(name = "quarkus.application.version")
String version;
关于java - quarkus-maven-plugin不会向MANIFEST添加实现条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58623758/