代码之家  ›  专栏  ›  技术社区  ›  Eldad Mor

运行jar文件时增量设置类路径的问题

  •  0
  • Eldad Mor  · 技术社区  · 15 年前

    我转到我的安装目录,运行“java-jar A.jar”来运行应用程序,然后它开始运行。但是,它会寻找log4j.properties来设置log4j。

    现在让我们假设我想运行多个A.JAR实例,但是有不同的log4j属性。所以我设置了4个安装目录(inst1,inst2,…),并在每个目录中放置了一个.JAR、一个定制的log4j.properties和lib目录。

    1. 这是正确的方法吗(忘记复制本身,我可以用符号链接做到这一点)?也许有一种方法可以告诉log4j在运行时使用define(-D)在特定的地方查找属性?
    2. 如果我所描述的是一个好的设置,我如何才能真正运行它?Java不会“捕获”log4j.properties作为其类路径的一部分。运行“java-classpath。-jar A.jar“也没用。
    1 回复  |  直到 15 年前
        1
  •  4
  •   Faisal Feroz    15 年前

    你可以使用 log4j.configuration 系统属性来定义希望log4j使用的属性文件。

    对于某个目录中的文件,一个简单的例子是:

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

    documentation . 特别是检查默认初始化过程部分。