簡體   English   中英

用本地類替換提供的Maven依賴項

[英]Replace provided Maven dependency with local class

如果我檢查有效的pom,我將找到以下條目:

  <dependency>
    <groupId>com.package.of.other.department</groupId>
    <artifactId>someArtifact</artifactId>
    <version>2.4.2</version>
    <scope>provided</scope>
  </dependency>

這來自父pom,我們必須使用它來使我們的軟件(bpmn進程)在公司范圍的平台上運行。

現在是一個很棘手的部分。 會有更大的變化,我們不能再使用someArtifact 不幸的是,我們的所有流程都直接調用了工件(您可以設計流程並配置項目的完整合格類名稱),而不能僅配置其他工件,因為這很可能會破壞許多正在運行的流程。

一個簡單的計划是創建一個具有相同程序包名稱和相同名稱的類,刪除對原始程序包的所有依賴關系,然后一切正常。 在測試期間,我注意到它不使用我的新類,但仍使用原始類,這很可能是因為它是通過強制性父pom作為依賴項提供的,由於某種原因,它比我的本地類更喜歡。

從父pom排除提供的依賴似乎不那么容易? 知道如何解決問題嗎?

如果應用程序是常規Java,則將要加載的類是按類路徑順序遇到的第一個類。

如果使用其他運行時程序包依賴項管理,則策略將有所不同。 例如,您可以在OSGi中調整導入包,以確保使用私有包中包含的類。

暫無
暫無

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

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