我一直在研究以下内容:
[INFO] Deploying war to httplocalhost:10101mywarfile
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See httpwww.slf4j.orgcodes.html#StaticLoggerBinder for further details.
这是我使用maven运行tomcat6:deploy选项从IntelliJ内部进行Tomcat6部署的消息。
问题:IntelliJ log4j配置文件在哪里或者如何创建一个?
有趣的是,我没有在命令行上运行它。在将maven构建执行命令行时,将Intellij运行的命令复制到命令行会产生相同的结果。这是第一部分。
"C:\Program Files\Java\jdk1.7.0_75\bin\java" "-Dmaven.home=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1.4\plugins\maven\lib\maven3" "-Dclassworlds.conf=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1.4\plugins\maven\lib\maven3\bin\m2.conf" -Didea.launcher.port=7532 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1.4\bin" -Dfile.encoding=windows-1252 -classpath "C:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1.4\plugins\maven\lib\maven3\boot\plexus-classworlds-2.4.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1.4\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain org.codehaus.classworlds.Launcher -Didea.version=14.1.4 -DskipTests tomcat6:redeploy
删除错误消息的修复方法是将sl4j依赖项添加到插件中:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>httplocalhost10101manager</url>
<server>TomcatServer6</server>
<path>/mywar</path>
</configuration>
<!-- Prevents static binding error during deploy -->
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.5</version>
</dependency>
</dependencies>
</plugin>
看看上面我认为sl4j-simple是maven tomcat6插件的依赖。但我下载了tomcat6-deploy插件的源代码和grep,其中没有提到代码中的sl4fj库。
[INFO]部署war到http [冒号] [forwardslash] [forwardslash] localhost [冒号] 10101 / mywarfile是关键,它显示了在log4j捕获下运行的整个tomcat6部署。因此,要充分了解最终部分的内容,IntelliJ maven如何工作以及默认的log4j配置文件在哪里。