首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在POM中的WEB-INF\lib中添加jar

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

Stack Overflow用户
提问于 2012-04-03 17:51:13
回答 4查看 22.8K关注 0票数 19

我有一些不是从任何存储库获得的jar文件。我将这些jar文件放在src目录的WEB-INF\lib文件夹中。有没有办法在不指定jar文件的实际路径的情况下将这些作为依赖项添加到POM中(相对路径就可以了..)?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-03 18:36:36

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

代码语言:javascript
复制
<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>

本质上,您将作用域指定为<system>,以指示maven不在存储库中查找它,并指定<systemPath>以指示它在哪里。这将是一个绝对路径,但可以采用maven属性。详细信息here

您将对您拥有的每个这样的jar执行此操作。

票数 22
EN

Stack Overflow用户

发布于 2012-04-03 18:00:02

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

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

代码语言:javascript
复制
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中,您可以将这些jars作为常规依赖项引用。有关Maven Install插件的更多信息,请查看他们的website

票数 4
EN

Stack Overflow用户

发布于 2012-04-03 18:01:59

正如Guillaume正确指出的那样,只需将jars安装到本地/公司存储库中即可。

如果由于某种原因无法实现,请使用${basedir} property

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9990872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档