4

我有一个在 Maven 中开发的项目。我想将新的 jar 文件添加到类路径。我在 pom.xml 文件中添加了新的依赖项:

<dependency>
<groupId>mzmatch</groupId>
<artifactId>mzmatch</artifactId>
<version>1.2.13</version>
</dependency>

所有的 jar 库都在 lib 目录中。所有库的名称都与 artifactId-version.jar 匹配,它们的位置是(在 lib 目录内)groupId/artifactId/version。所以我对我的 mzmatch-1.2.13.jar 文件做了同样的事情。

除了在 pom 文件中添加新的依赖项之外,我还将我的 jar 添加到 Manifest.MF 文件的类路径中。但是软件仍然看不到我的罐子。我还应该做什么?或者我没有正确添加我的库?

4

1 回答 1

9

我假设这是您开发的 jar,现在希望 Maven 将其作为依赖项。为此,您需要将其安装到本地 Maven 存储库。不是项目的 lib 目录,而是 .m2 目录(可能在 Windows 中的主目录之外)。您可能想从命令行运行它:

mvn install:install-file -Dfile=<path-to-file> -DgroupId=mzmatch -DartifactId=mzmatch -Dversion=1.2.13 -Dpackaging=jar

这里查看更多信息。

编辑 1:我假设 OP 不在一个更大的团队中工作。如果开发团队中的其他任何人都需要该依赖项,则需要将其部署到共享的内部工件存储库,例如NexusArtifactory。这些应用程序有一个用于上传工件的页面。

编辑 2:在 pom.xml 中添加一个库作为依赖项可确保 Maven 在编译此新项目的代码时将其放在类路径中。如果您希望它在运行时出现(例如,如果您想要一个可执行的 jar),并且您希望将它放在您的 Class-Path 条目中MANIFEST.MF,那么您可以让 Maven设置它。那仍然没有将mzmatch-1.2.13.jar文件放在与新项目相同的目录中。如果您不想手动执行此操作,Maven 可以再次为您执行此操作。

于 2012-08-16T17:29:47.830 回答