【发布时间】:2021-01-26 12:19:37
【问题描述】:
tl;dr:我正在尝试解决 this 问题。
我有一个项目,它构建一个依赖于平台的 JAR 并根据os-maven-plugin 添加分类器:
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.levyfan</groupId>
<artifactId>sentencepiece</artifactId>
<version>0.0.2</version>
<build>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.6.1</version>
</extension>
</extensions>
<!-- ... -->
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<classifier>${os.detected.classifier}</classifier>
</configuration>
</plugin>
</plugins>
</build>
当我使用 mvn --batch-mode deploy 构建工件并将其发布到 GitHub Packages 时,我遇到了冲突错误。这是因为工件共享一个 pom (sentencepiece-0.0.2.pom),但 JAR 工件由 os-maven-plugin 值 (sentencepiece-0.0.2-XYZ.jar) 确定。
如何在构建时注入这个插件定义的属性来创建唯一的工件名称?
【问题讨论】:
-
为什么需要分类器?
-
因为它是特定于平台的 JNI 工件
标签: maven pom.xml github-package-registry