将jar库添加到Maven项目

use*_*866 4 java jar maven

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

<dependency>
<groupId>mzmatch</groupId>
<artifactId>mzmatch</artifactId>
<version>1.2.13</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

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

除了在pom文件中添加新依赖项之外,我将jar添加到Manifest.MF文件中的class-path.但该软件仍然没有看到我的罐子.我还该怎么办?或者我没有正确添加我的库?

dav*_*son 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
Run Code Online (Sandbox Code Playgroud)

看看这里了解更多信息.

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

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