簡體   English   中英

maven 構建失敗,因為依賴包不存在而依賴包實際存在

[英]maven build is failing due to dependency package does not exist while dependency package actually exists

我在 Eclipse 中有兩個 spring-boot 項目。

  1. 公共庫
  2. 密鑰生成器服務

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 成功構建密鑰生成器服務。

這是一個可運行的 Spring Boot jar。

使其可運行會破壞其用作依賴項的能力(注意路徑前綴)

修復:僅對您要運行的最終 jar 執行此操作。

從 Thorbjorn 得到建議后,我在 commons-lib pom.xml 中解決了這個問題

(對於彈簧靴 2.x)

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <executions>
      <execution>
        <id>repackage</id>
        <configuration>
          <classifier>exec</classifier>
        </configuration>
      </execution>
    </executions>
  </plugin>

現在它作為依賴/庫工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM