簡體   English   中英

運行jar文件時以增量方式設置類路徑的問題

[英]Problem with incrementally setting up classpath when running a jar file

我有一個包含在A.JAR中的應用程序。 此jar具有多個依賴項,因此在清單中將其指定為“ lib / B.JAR lib / C.JAR lib / D.JAR”。 我的安裝目錄為A.JAR,在其下的lib目錄為其他三個目錄。

我進入安裝目錄並運行“ java -jar A.JAR”以運行該應用程序,然后它開始運行。 但是,它將查找用於設置log4j的log4j.properties。 現在,據我所知,log4j.properties必須位於類路徑中。

現在,讓我們假設我要運行A.JAR的多個實例,但是具有各種log4j屬性。 因此,我設置了4個安裝目錄(inst1,inst2等),並將A.JAR,自定義的log4j.properties和lib目錄放入其中。

  1. 這是正確的方法嗎(忘記復制本身,我可以使用符號鏈接來做到這一點)? 也許有一種方法可以告訴log4j在運行時使用一些定義(-D)在特定位置查找屬性?
  2. 如果我描述的是一個好的設置,那么我該如何運行呢? Java不會將log4j.properties作為其類路徑的一部分“捕獲”。 運行“ java -classpath。-jar A.JAR”也沒有幫助。

您可以使用log4j.configuration系統屬性來定義要log4j使用的屬性文件。

一個目錄中文件的簡單示例為:

java -Dlog4j.configuration=file:/c:/foobar.properties YOUR CLASS PATH -jar JAR FILE

有關更多信息,請查閱文檔 尤其要檢查“默認初始化過程”部分。

暫無
暫無

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

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