WAR 中不存在外部 JAR

问题描述 投票:0回答:2

我必须使用 Maven 存储库中不存在的 JAR。

我通过创建 libs 文件夹来放置 JAR,然后进入 pom.xml 并执行以下操作:

<dependency>
    <groupId>aaa.bbb.ccc</groupId>
    <artifactId>ABC</artifactId>
    <scope>system</scope>
    <version>1.0</version>
    <systemPath>${project.basedir}/libs/ABC.jar</systemPath>
</dependency>

这有效,当我执行 mvn clean install 时,我可以在我的“Maven 依赖项”列表中看到这些外部 JAR。

但是,执行 Maven 命令后,这些 JAR 在我的 Application.war(在目标文件夹中创建)的依赖项列表中不可见。

你知道为什么会这样吗?我无法理解它,到目前为止我还没有找到解决方案。

maven jar dependency-management
2个回答
0
投票

正如 khmarbaise 所说,我的问题的解决方案是将我的依赖项添加到本地 Maven 存储库,而不是使用系统范围和系统路径属性。

将第 3 方 JAR 添加到本地 Maven 存储库的指南:https://mkyong.com/maven/how-to-include-library-manully-into-maven-local-repository/


0
投票

我也在尝试同样的方法,发现如果我通过依赖关系,则会出现 NoClassDefFound 错误,所以如果你想将外部 jar 放置在 .war\WEB-INF\lib\

您只需执行以下步骤:-

1.在项目下创建一个“lib”文件夹,如下所示:“\src\main\webapp\WEB-INF\lib” 2.复制您想要包含在 WAR 包文件夹中的所需“jar”等。 3.像平常一样调用您的 Maven 构建。我使用“mvn install”,它创建构建 war 文件。

© www.soinside.com 2019 - 2024. All rights reserved.