我必须使用 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(在目标文件夹中创建)的依赖项列表中不可见。
你知道为什么会这样吗?我无法理解它,到目前为止我还没有找到解决方案。
正如 khmarbaise 所说,我的问题的解决方案是将我的依赖项添加到本地 Maven 存储库,而不是使用系统范围和系统路径属性。
将第 3 方 JAR 添加到本地 Maven 存储库的指南:https://mkyong.com/maven/how-to-include-library-manully-into-maven-local-repository/
我也在尝试同样的方法,发现如果我通过依赖关系,则会出现 NoClassDefFound 错误,所以如果你想将外部 jar 放置在 .war\WEB-INF\lib\
您只需执行以下步骤:-
1.在项目下创建一个“lib”文件夹,如下所示:“\src\main\webapp\WEB-INF\lib” 2.复制您想要包含在 WAR 包文件夹中的所需“jar”等。 3.像平常一样调用您的 Maven 构建。我使用“mvn install”,它创建构建 war 文件。