簡體   English   中英

抑制本地存儲庫中的 maven 依賴版本后綴

[英]Suppress maven dependency version suffix in local repository

我有一個使用 SAP Crystal Reports 的 Spring Boot 項目。 CR 未在 Maven Central 中發布。 我將所有 CR jar 文件導入到我的 Maven 本地存儲庫中。 在我的項目中,jar 將版本附加到 jar 文件名。 對於一個 jar 文件,這會導致運行時錯誤。 我怎樣才能讓那個 jar 沒有附加的 Maven 版本?

如果您使用 Maven 從源代碼構建,那么您可以在該項目的 POM 中覆蓋工件最終名稱

 <finalName>myJar</finalName>

如果您手動運行 mvn install,那么您可以控制存儲到 Maven 存儲庫中的內容

 mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

這是我的解決方法黑客。

Jar 是我的項目代碼從未直接引用的問題,它是 Crystal Reports java 運行時的運行時庫。 我在構建時的類路徑中不需要它,只是在 maven 構建的部署文件中。

我的 Spring Boot 項目部署為 WAR 文件,因此我需要構建我的 Eclipse Maven 項目,以便將 Jar 作為普通 Web 應用程序資源放置在 WEB-INF/lib 中。 我沒有將 jar 指定為 maven 依賴項。

這是一個 hack,因為 jar 文件是一個依賴項,應該在 pom.xml 中指定為 maven 項目依賴項。

這解決了我眼前的問題。 我責怪 SAP 沒有將 Maven 用於他們的 Crystal Reports Java 運行時。

暫無
暫無

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

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