当前位置: 首页 > 知识库问答 >
问题:

如何在Netbeans maven项目中向类路径添加log4j2.xml

衡安晏
2023-03-14

我目前正在Netbeans中使用sl4fj和log4j2编写一个小型的Maven Java应用程序。在生产环境中部署java属性log4j.configurationfile时,我无法使用它。因此,我希望log4j2在我的项目中搜索并找到属性文件。我在谷歌上搜索了一下,并尝试了以下选项,但运气不佳;

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <targetPath>com/reddipped/jsonlogger_2</targetPath>
                <includes>
                    <include>log4j2.xml</include>
                </includes>
            </resource>
        </resources>
</build>

更改了项目属性->Actions->Run project中的类路径,以包含xml文件

exec.args=-classpath %classpath:/Users/petervannes/NetBeansProjects/JSONLogger_2/log4j2.xml ${packageClassName}

我还能尝试其他选择吗?它是一个maven项目,所以我不能在项目属性中添加JAR。

--更新1--

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.6</maven.compiler.source>
        <maven.compiler.target>1.6</maven.compiler.target>         
<maven.test.additionalClasspath>${project.basedir}/src/test/java/log4j2.xml</maven.test.additionalClasspath>
</properties>
properties used {java.vendor=Oracle Corporation, sun.java.launcher=SUN_STANDARD ....., maven.test.additionalClasspath=/Users/petervannes/NetBeansProjects/JSONLogger_2/src/test/java/log4j2.xml, maven.compiler.target=1.6
Running com.reddipped.test.JSONLoggerTest
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

共有1个答案

王曜文
2023-03-14

本页描述了log4j用于查找配置的方法。

根据这一点,您应该将log4j2.xml文件放在项目的默认包中。

 类似资料:
  • 我正在尝试运行一个由其他人创建的已经存在的eclipse项目。 在将其导入eclipse并尝试作为->Java应用程序运行之后,它失败了,因为它在bin/resources中找不到.properties文件 我打印出eclipse使用的类路径 果然,它包括bin和所有lib/*.jars,但不包括bin/resources。将.properties文件复制到bin中可以使程序正常工作,但我想了解如

  • 问题内容: 如何在netbeans项目的类路径中添加文件夹(例如,包含arts的资源文件夹)?我设法通过编辑项目的NB生成的jar文件(即其MANIFEST.MF文件+手动复制资源)来手动完成此操作,但是应该有一种方法可以告诉netbeans并注意资源,不是吗? 文件夹结构如下所示: 我不想将艺术品包装到罐子里,因为我希望艺术品可以轻松更换。如果我将art文件夹添加到src文件夹,则NB可以正常编

  • 问题内容: 我正在尝试向PYTHONPATH环境变量添加路径,该路径仅在特定的virtualenv环境中可见。 我在virtualenv命令提示符下进行了尝试,但这为整个环境设置了变量。 我该如何实现? 问题答案: 通常,您可以通过使用files来避免对PYTHONPATH做任何事情。只需在您的virtualenv的site- packages文件夹中放入一个扩展名为.pth的文件(任何基本名称均

  • 我正在使用Java代理和Javassist向一些JDK类添加一些日志记录。实际上,当系统加载一些TLS类时,Javassist会向它们添加一些额外的字节码,以帮助我调试一些连接问题。 问题是,考虑到这个类包含在代理jar中: 在我的代理的转换方法中,假设我试图使用javassist调用该类: 你认为这行得通,但我得到了这个: 有没有办法将该类[]添加到应用程序的类路径中?

  • 问题内容: 我需要一些帮助,将一些项目添加到中。因此,我有两个组合框,其中一个根据所选项目填充另一个。 我的问题是,用于新项目,它可以工作,但是如果我为组合框选择另一个选项,它将添加新项目,但先前的项目不见了-新项目下面有空白项目。 我以为每次我从第一个组合框选择一个新选项来清除第二个组合框的内容。所以我在第二个上使用了-但没有用。 我就是这样想的: 上面是第一次更改时执行的功能的一部分。 问题答

  • 我希望title本身是描述性的,但要明确的是,我试图在greeting-service.jar中包含(即,error-handling-service.jar)。在构建之后,我在新项目(即TestApplication)中包含了greeting-service.jar,但在执行我得到的TestApplication时(顺便说一句,TestApplication不是一个gradle项目) BaseE