0
我有一個包含在A.JAR中的應用程序。這個jar有幾個依賴關係,所以它們在清單中被指定爲「lib/B.JAR lib/C.JAR lib/D.JAR」。我有我的安裝目錄A.JAR,在它下面我有lib目錄與其他三個。運行jar文件時增量設置類路徑的問題
我進入我的安裝目錄並運行「java -jar A.JAR」來運行應用程序,並開始運行。但是,它會查找用於設置log4j的log4j.properties。現在據我所知,log4j.properties需要在類路徑中。
現在讓我們假設我想運行幾個A.JAR實例,但是具有各種log4j屬性。所以我設置了4個安裝目錄(inst1,inst2,...),並且我已經將A.JAR,一個自定義的log4j.properties和lib目錄放入其中。
- 這是正確的路要走(忘記複製本身,我可以用符號鏈接來做到這一點)?也許有辦法告訴log4j在運行時使用一些define(-D)來查找特定位置的屬性?
- 如果我所描述的是一個好的設置,我該如何運行它? Java不會「捕捉」log4j.properties作爲其類路徑的一部分。運行「java -classpath。-jar A.JAR」也沒有幫助。
也看看-Dlog4j.debug開關。知道它在哪裏尋找是非常有用的。 – mschonaker 2010-11-06 06:59:54
+1 - 這是正確的方法,儘管OP可能需要創建一些包裝腳本來啓動具有不同日誌配置的應用程序。 – 2010-11-06 07:02:06
@Faisel - 謝謝,我會用它。 – 2010-11-06 09:49:27