代码之家  ›  专栏  ›  技术社区  ›  pauljwilliams

Java打包问题

  •  0
  • pauljwilliams  · 技术社区  · 16 年前

    log4j.properties ,由我使用的一些外部库使用)与我的应用程序位于同一目录中。

    bin 目录,包含我的 app.jar ,再加上一些属性文件,再加上 lib dir和我所有的外部罐子。外部JAR在中指定的类路径中指定 app.jar 的清单文件。

    箱子 只需 ,带有 解放党 同一级别的目录(即。 ../lib ,相对于 ../etc 配置文件的目录。

    很简单,我想--我把所有的类路径都从 ./lib/<jarname> ../lib/<jarname> ,并加上 ../等

    log4j.properties 文件——因为,我怀疑 app.jar

    有什么想法吗?

    3 回复  |  直到 16 年前
        1
  •  1
  •   Rahul    16 年前

    只要log4j.properties在类路径中,就可以将它放在任何地方。因此,正如@skaffman所建议的,将log4j属性文件放在etc目录中,该目录已经在您的类路径中。

    使用PropertyConfiguration的另一种方法是在运行应用程序时设置此syetm属性。

    -Dlog4j.configuration=log4j.properties
    
        2
  •  0
  •   Jesper    16 年前

    所以,问题是Log4J现在不再自动找到配置文件(Log4J.properties)?

    据我所知,Log4J默认情况下会查找Log4J.properties文件的类路径中的目录。尝试在JAR清单文件的类路径中添加../etc目录。

    另见 Default Initialization Procedure 在Log4J手册中,它解释了Log4J如何查找配置文件以及如何更改配置文件。

        3
  •  0
  •   skaffman    16 年前

    log4j.properties 必须位于默认包中的某个位置,在您的情况下,这可能意味着位于该JAR文件根目录中的某个JAR文件中。

    etc PropertyConfigurator -当您的应用程序启动时,通过文件名、URL或任何最适合您的方式调用它。

    推荐文章