【发布时间】:2021-10-05 08:25:26
【问题描述】:
我在 Eclipse 中有两个 spring-boot 项目。
- commons-lib
- 密钥生成器服务
keygenerator-service 依赖于 commons-lib,所以我先构建了 commons-lib,并在 m2 文件夹中成功创建了 jar。然后我提到了对 keygenerator-service 的 pom.xml 文件的依赖,如下所示。
<dependency>
<groupId>com.abz</groupId>
<artifactId>commons-lib</artifactId>
<version>1.0.0</version>
</dependency>
jar 文件以 C:\Users\snsur.m2\repository\com\abz\commons-lib\1.0.0\commons-lib-1.0.0.jar 的形式存在,看起来不错。
但是现在当我尝试构建 keygenerator-service 的 maven 构建时出现以下错误:
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /C:/Drive D/Projects/workspace-backend/workspace1/keygenerator-service/src/main/java/com/abz/keygenerator/core/KeyStore.java:[13,33] package com.abz.commons.exception does not exist
[ERROR] /C:/Drive D/Projects/workspace-backend/workspace1/keygenerator-service/src/main/java/com/abz/keygenerator/core/KeyStore.java:[14,33] package com.abz.commons.exception does not exist
我可以看到该包也存在于 jar 文件中。
C:\Users\snsur\Documents\Work\SWs\jdk-11.0.11\bin>jar tvf C:\Users\snsur\.m2\repository\com\abz\commons-lib\1.0.0\commons-lib-1.0.0.jar
0 Thu Jul 29 21:33:44 IST 2021 META-INF/
358 Thu Jul 29 21:33:44 IST 2021 META-INF/MANIFEST.MF
.....
0 Thu Jul 29 21:33:46 IST 2021 BOOT-INF/classes/com/abz/commons/exception/
0 Thu Jul 29 21:33:46 IST 2021 BOOT-INF/classes/com/abz/commons/model/
INF/classes/com/abz/commons/exception/AlreadyExistsException.class
INF/classes/com/abz/commons/exception/InvalidDataException.class
我已经检查了许多 stackoverflow 链接以解决此类问题,但对我没有任何帮助。我什至删除了 .m2 文件夹并重新构建了 commons-lib 项目,但仍然没有运气。
请帮助我使用 commons-lib jar 成功构建 keygenerator-service。
【问题讨论】:
-
这是一个多模块构建的工作......这意味着您必须将两个项目移到父级的保护伞下,并且您可以一次构建它们(假设您已经定义了依赖项正确)并且订单将由 Maven 处理...但是当然,如果将 jar 构建为 spring boot maven 插件,则它不再能够用作通常的依赖项...这是行不通的。跨度>
-
是的,因为我已经将 jar 构建为 spring boot maven 插件,所以它不起作用。所以我在我的 commons-lib spring boot 项目的 pom.xml 中添加了一些插件,使其成为库,现在它可以工作了。
标签: java spring-boot maven jar