有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何指定在Java webstart应用程序中使用的回写配置?

我想向许多内部Java webstart应用程序添加日志记录,最好使用logback日志框架和logback.groovy配置文件。我希望在webstart应用程序.jnlp文件中指定这一点,但不清楚如何做到这一点

我曾尝试在我的主jar(即包含我的main方法的jar)的资源中添加logback.groovy文件,但这没有通过logback获得

我还尝试了各种尝试,将logback.groovy文件添加到.jnlp文件的<resources>部分:

<jnlp ...>
  <resources>
    <j2se version="$j2seVersion" />
    $dependencies // from maven-webstart-plugin

    // some reference to my logback configuration - e.g. 
    <dir href="log/" />
  </resources>
</jnlp>

值得注意的是,logback希望配置文件在类路径上被引用为它所在的文件夹,而不是文件本身——请参见FAQs

然而,我真的不确定这将如何应用于Java Webstart

这可能吗?如果是,我该怎么做


共 (1) 个答案

  1. # 1 楼答案

    所以。。。我最终使用的方法是(与Askel的评论一致)将日志放回原处。groovy配置文件转换成/src/main/resources

    但是,我们以多种不同的方式使用Java库,默认情况下,我不想在jar中包含logback配置文件。在某种程度上,这是因为我们有几个库,而logback不能很好地处理多个配置文件。根据发布版本的不同,我希望使用不同的logback配置

    对于我们的webstart版本,我们使用webstart-maven-plugin来构建库、组装依赖项等。但是在进行此构建之前,我们将logback.groovy配置文件复制到/src/main/resources——这包括该库的构建中的文件。然后,构建/发布之后,您可以从^{中删除配置文件

    然而,这个插件也将运行mvn install,这将把带有logback配置文件的库放在本地maven存储库中。因此,在删除build/release/temp配置之后,我们再做一次^{,这将覆盖该库