1

有一个 jar 文件可以说“abc.jar”,它不存在 maven 依赖项(即使用自己的类的 java 命令创建了一个 jar)。我想将此 jar 添加为 maven 依赖项,以便在构建时它会像其他 maven 依赖项一样自动将该 jar 复制到 lib 文件夹中。我会怎么做。请帮忙 。

4

3 回答 3

1

将其添加为具有系统范围的依赖项。请参阅此处的文档

但是,与其将其添加为系统依赖项,不如将 jar 本身 mavenize 更好,然后您可以将其构建并安装到您的依赖项管理系统中。

另外,请参阅这个问题:我可以在不安装它们的情况下将 jars 添加到 maven 2 build classpath 吗?

于 2013-08-06T13:09:56.803 回答
0

您可以在项目的 POM 文件systemPath中的标记中使用该属性。dependency

在您的 pom.xml 中,使用以下代码片段对应于abc.jar

<dependencies>
  <!-- Other dependencies -->
  <dependency>
    <groupId>abc</groupId>
    <artifactId>x</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>{path_to_abc.jar}</systemPath>
  </dependency>
</dependencies>

与此工件对应的scope参数必须设置为system, 以便从指定的 中拾取工件systemPath

希望这可以帮助!

于 2013-08-06T13:10:59.343 回答
0

一个正常的 Maven 依赖总是通过查看存储库来解决的。因此,您必须将 JAR 文件放入存储库中。

您可以将JAR安装到本地存储库中。看看安装插件。install-file 目标是您的朋友。

如果其他开发人员也需要这个 JAR(因为他们正在处理同一个项目),他们要么也需要在本地安装它,或者 - 更好 - 你将 JAR部署到远程存储库。看看部署插件。这里的 deploy-file 目标是你的朋友。要部署工件,您需要像NexusArtifactory这样的存储库管理器。

但是,依赖项也可能具有系统范围(查看其他答案)。

于 2013-08-06T13:14:21.270 回答