在 POM 的 WEB-INF\lib 中添加一个 jar

2022-09-02 09:40:13

我有几个jar文件,我没有从任何存储库获得。我在 web-INF\lib 文件夹中有这些 jar 文件,用于 src 目录。有没有办法在不指定jar文件的实际路径的情况下将这些作为依赖项添加到POM中(相对路径很好..)?


答案 1

您可以按如下方式定义依赖项:

<dependency>
    <groupId>my.group</groupId>
    <artifactId>my.artifact</artifactId>
    <version>a.b</version>
    <scope>system</scope>
    <systemPath>${basedir}/WEB-INF/lib/my.artifact.jar</systemPath>
</dependency>

从本质上讲,您可以指定范围以指示maven不在存储库中查找它并指示它的位置。这将是一个绝对路径,但可以采用 maven 属性。详情请点击此处<system><systemPath>

你会为你拥有的每个这样的罐子执行此操作。


答案 2

您应该在本地存储库中安装这些文件。理想情况下,您在本地计算机或远程服务器(Nexus,Artifactory,Archiva)上安装了一个共享存储库,并将jar部署到该存储库。

要在本地安装文件,您可以使用以下命令(取自Maven安装插件网站):

mvn install:install-file -Dfile=your-artifact-1.0.jar \
                     [-DpomFile=your-pom.xml] \
                     [-Dsources=src.jar] \
                     [-Djavadoc=apidocs.jar] \
                     [-DgroupId=org.some.group] \
                     [-DartifactId=your-artifact] \
                     [-Dversion=1.0] \
                     [-Dpackaging=jar] \
                     [-Dclassifier=sources] \
                     [-DgeneratePom=true] \
                     [-DcreateChecksum=true]

在你的 pom 中,你可以将这些 jar 引用为常规依赖项。有关Maven安装插件的更多信息,请查看他们的网站


推荐