나는이 사이트와 Google을 통해 솔루션을 찾으려고 노력하는 것을 포함하여 내가 여기서 잘못하고있는 것을 알아 내려고 일주일 내내 머리를 꺼내왔다. 그러나 나는 어쩌면 나는 내가 무엇을 찾고 있는지 모른다. 어떤 도움이라도 대단히 감사합니다!log4j 1.2를 완전히 Maven 빌드에 통합하는 방법
제 목표는 Eclipse Kepler에서 만든 Maven 2 Java 프로젝트에서 log4j 1.2.17을 사용하는 것입니다. 나는 메이븐 아키 타입에서 문제를 다시 한 : 빠른 시작을 다음과 같이 pom.xml 파일에서 log4j에 의존 ...
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
그래서 '받는다는 패키지'를 실행하면 행복하게 빌드를을 ... 추가
import org.apache.log4j.Logger;
import org.apache.log4j.LogManager;
import org.apache.log4j.BasicConfigurator;
public class App
{
private static Logger logger =
LogManager.getLogger(App.class);
public static void main(String[] args)
{
BasicConfigurator.configure();
logger.debug("Entering the main class");
System.out.println("Hello World!");
}
}
그러나 실행하는 받는다는이에 결과를 빌드 한 후 명령 행에서 '자바 -cp 대상/DC-0.1.jar DC.dc.App'
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/LogManager
at DC.dc.App.<clinit>(App.java:14)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.LogManager
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
내가 메이븐 디렉터리 구조를 준수하고있어 log4j.properties는 st입니다./src/main/resources에 있습니다. 이것은 log4j 파일입니다.
log4j.appender.consoleAppender = org.apache.log4j.ConsoleAppender
log4j.appender.consoleAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
log4j.rootLogger = DEBUG, consoleAppender
Eclipse에서 maven없이 응용 프로그램을 실행할 때 올바른 pom.xml 파일과 관련된 문제가 발생하지만 적절한 log4j 파일이 나열되어 있습니다. 그게 구체적으로 자세히 설명해 주시겠습니까? 필자는 Maven 의존성 플러그인 사용법 페이지를 읽었고 올바르게 사용하고 있다고 믿었 기 때문에 문제는 특별히 log4j를 pom 파일의 플러그인으로 나열하는 방법이어야합니다. – Furlong