我做了一个 maven 项目,并使用 slf4j 和 log4j。我也在使用 jibx 绑定。
src/main/java 是我的类文件夹 src/main/config 文件夹,用于 jibx 绑定和生成的类
两者都被声明为源文件夹
log4j.properties 在类路径中(如果它存在于 java 或 config 中则无关)
这是情况:log4j 有效。我可以从 Eclipse 或通过创建的 jar 文件(maven)启动程序并记录工作。但是当我开始“maven clean”并再次构建项目并开始时,我得到“log4j:WARN No appenders could be found for logger”发生在从eclipse或通过jar文件开始。log4j.propeties 不会被复制到目标/类,也不会在 jar 文件中。我将 Eclipse 中的 log4j.properties 从示例 java 文件夹移动到配置文件夹并返回。再次用maven编译。属性位于类文件夹和 jar 中。maven clean 之后我总是必须这样做!我不知道为什么清理后属性会丢失。它仍然在类路径的文件夹中。我什么都不改变。任何人都知道如何解决它?这真的很令人不安。感谢 jibx 不时清洁是必要的。我用谷歌搜索,只有当属性不在类路径中时才发现问题。但就我而言,它是。
如果我错过了任何需要的信息,请:)
编辑:啊,是的。不在资源文件夹中的属性是问题所在。固定的。
但是如果属性不在资源文件夹中,仍然会出现奇怪的行为。即使在 Eclipse log4j 中,在 maven clean 之后也会停止工作。并在移动属性并返回到开始文件夹后再次工作。