从现有 jar 创建 maven 工件的最佳方式

2022-09-01 08:58:42

我正在对一些项目进行修改。

这些项目都依赖于许多库,其中大多数都在 maven 存储库中可用。对于其他库,我想创建一个 maven 工件,这样我就可以将其用作依赖项。问题是,我只有这些库的jar文件。

从现有 jar 文件创建工件的最佳方法是什么?


答案 1

如果您没有使用远程存储库(这是个人开发的常见情况),只需使用 install:install-file mojo 在本地存储库中安装这些项目:

mvn install:install-file 
  -Dfile=<path-to-file> 
  -DgroupId=<group-id> 
  -DartifactId=<artifact-id> 
  -Dversion=<version> 
  -Dpackaging=<packaging> 
  -DgeneratePom=true

Where: <path-to-file>  the path to the file to load
       <group-id>      the group that the file should be registered under
       <artifact-id>   the artifact name for the file
       <version>       the version of the file
       <packaging>     the packaging of the file e.g. jar

但显然,这将使您的构建不易移植(这可能不是问题)。为了不牺牲可移植性,您必须使工件在远程存储库中可用。在企业环境中,处理这种情况的常见方法是安装企业存储库(在这种情况下,确实安装到工件上)。deploy

更新:一旦你的工件安装在你的本地存储库中,只需在你的pom中声明一个元素,就像任何其他依赖项一样,例如:<dependency>

<dependency>
  <groupId>aGroupId</groupId>
  <artifactId>aArtifactId</artifactId>
  <version>1.0.12a</version>
  <packaging>jar</packaging>
</dependency>

答案 2

您可以使用 Maven 部署插件将 JAR 文件(以及可选的 POM 文件,尽管默认情况下会为您创建一个)上传到 Maven 存储库。


推荐