java - 如何为 Maven 安装的 jar 编写 POM 文件?

标签 java maven jar pom.xml

我有一组 jar,yanfs.jaryanfs-javadoc.jaryanfs-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.jaryanfs-sources.jar,您可以告诉 maven-install-plugin关于他们的信息 javadocsources属性。

您将有以下命令:

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/

相关文章:

java - 如何更正 Java SSL REST 客户端中的 ValidatorException

Java String 完成数学求和

scala - 构建自动化 - sbt : Compile/Test against multiple dependencies

java - 测试组装 jar 的行为

java - 仅当执行 jar 文件时,REST 客户端中出现 ClientHandlerException

使用 fat Jar 插件和 Spring Boot 应用程序构建的 Gradle 给出 'Application startup failed'

java - 有条件地构建 Maven fat jar

java - 如何使用 Integer.toBinaryString 设置 java 中的位数?

Java - ResultSet 更改数据库列名称以在 JTable 中显示

java - 对于 JPA 元模型生成的类,Maven "clean install site"失败