我有一组 jar,yanfs.jar
、yanfs-javadoc.jar
和 yanfs-sources.jar
。这些是 Maven 无法解析的第三方 jar。
我计划使用 Maven 安装命令:
mvn install:install-file -Dfile=path -DpomFile=path
将 jar 添加到我的 Maven 存储库,以便我可以在代码中使用它。
我只是不知道如何为 jar 编写 pom 文件,因此至少源 jar 与标准 jar 文件一起包含在内。
这是我到目前为止所拥有的:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.sun</groupId>
<artifactId>yanfs</artifactId>
<version>1.2</version>
<description>Artifactory auto generated POM</description>
</project>
还有其他人知道我还需要包含什么吗?
最佳答案
你根本不知道要在这里写什么。 POM 是一个与您所依赖的项目绑定(bind)的文件。如果这个项目没有随它分发 POM 文件,那么您可能就不走运了。该文件应该包含 Artifact 的所有传递依赖项,但也包含许多其他内容,例如其许可。这是你无法弥补的。
您可以查看yanfs.jar
内部,看看其中是否有嵌入的POM文件。如果有的话,它应该位于 META-INF/maven/{groupId}/{artifactId}
下,并且您不需要告诉 maven-install-plugin
因为it will find it automatically安装过程中:
If the JAR was built by Apache Maven, it'll contain a pom.xml in a subfolder of the META-INF directory, which will be read by default.
否则,除了让 maven-install-plugin
generate a POM 之外,你真的无能为力。在generatePom
的帮助下属性。请注意,您当前拥有的 POM 也可能是在您上传时由您的 Artifactory 服务器(给定其内容)生成的。
关于其他 Artifact yanfs-javadoc.jar
和 yanfs-sources.jar
,您可以告诉 maven-install-plugin
关于他们的信息 javadoc
和 sources
属性。
您将有以下命令:
mvn install:install-file -Dfile=yanfs.jar -Dsources=yanfs-sources.jar -Djavadoc=yanfs-javadoc.jar
关于java - 如何为 Maven 安装的 jar 编写 POM 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34814794/