[英]WebLogic client jar
我想使用Java和JMX來監視WebLogic。 我需要使用提供到WebLogic lib目錄中的wlclient.jar。
有沒有我可以用來下載wlclient.jar的maven資源庫? 我找到的唯一方法是手動將jar文件導入我的存儲庫,但這不是我的選擇。
另一種方法是創建項目內存儲庫。 這使您的項目真正可移植。 此方法類似於A. Di Matteo提到的“使用依賴關系與系統范圍”,除了它具有能夠使用任何范圍(而不僅僅是“系統”)的額外好處。
我遇到了和你一樣的問題,使用了Maven Central中沒有的jar,在探索了所有可能的選項之后,我選擇了項目內的存儲庫,我相信它更好的系統范圍依賴,因為它釋放了你選擇范圍。
執行此操作的步驟:
在項目中創建一個名為“lib”的子目錄
將此lib添加為pom中的存儲庫
<repositories>
<repository>
<id>lib</id>
<name>In Project Repo</name>
<url>file://${basedir}/lib</url>
</repository>
</repositories>
mvn install:install-file -Dfile=myArtifact.jar -DgroupId=xyz -DartifactId=${artifactId} -Dversion=${version} -Dpackaging=jar -DgeneratePom=true
<dependencies>
....
<dependency>
<groupId>x.y.z</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
</dependency>
</dependencies>
如果在任何Maven存儲庫中找不到jar,則可以根據需要應用以下任何操作:
內部Maven存儲庫
如果您沒有內部存儲庫(如Artifactory或Nexus),通常在公司中用作內部maven緩存/代理/控制點,但也可以選擇安裝它並在本地運行它。
然后,您可以在那里上傳庫,提供Maven GAV(GroupId,ArtifactId,Version)並讓Maven將其指向存儲庫(對於您的CI服務器,如果有的話,為您的同事指定)。 然后,您可以將庫添加為標准maven依賴項。 此解決方案具有更長的設置,但具有更好的可維護性。
在本地緩存中安裝庫
您可以使用Maven Install Plugin並將庫安裝到本地緩存中,如此官方示例所示。
基本上,您可以運行以下命令:
mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=path-to\wlclient.jar -DgroupId=weblogic -DartifactId=wlclient -Dversion=1.0.0 -Dpackaging=jar
它將使用標准Maven GAV將庫復制到本地Maven緩存。 但是,如上所述,您應確保在任何CI服務器和任何團隊配對計算機上復制相同的設置。 然后,您可以將庫添加為標准maven依賴項。 該解決方案具有更快的設置,但可維護性較低。
但是,這兩種解決方案都會影響構建的可移植性(如果有人試圖在公司網絡或團隊之外構建它,則構建將失敗)。
使用系統范圍的依賴性
您可以將jar作為項目的一部分,並通過該依賴項的system
范圍指向它。
<dependency>
<groupId>weblogic</groupId>
<artifactId>wlclient</artifactId>
<version>1.0.0</version>
<systemPath>${basedir}/path/to/library/wlclient-1.0.0.jar</systemPath>
<scope>system</scope>
</dependency>
您應該重命名jar,以符合Maven約定。
這個解決方案更具可移植性,需要的設置要少得多,但需要對其進行維護,並且需要將相關庫作為版本化項目的一部分進行檢查(有些人可能會對此做法存在強烈反對)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.