2012-01-10 2 views
1

내 pom.xml에 maven-jspc-plugin을 사용 중입니다.Maven 플러그인이 빌드되었지만 java.lang.NoClassDefFoundError로 인해 실행할 수 없습니다. org/slf4j/LoggerFactory

나는 JSP 컴파일 목표 (플러그인을 실행하는) 내가 얻을 실행하려고 할 때 :

Caused by: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory 
at org.apache.juli.logging.Slf4jLog.<init>(Slf4jLog.java:29) 
at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:54)  
at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:35) 
at org.apache.sling.scripting.jsp.jasper.compiler.OriginalTldLocationsCache.<init>(OriginalTldLocationsCache.java:81) 
at org.apache.sling.maven.jspc.JspcMojo.initServletContext(JspcMojo.java:426) 

내가 받는다는-jspc-플러그인에 대한 (오픈) 소스를 다운로드 시도하고 내가 "mvn install"을 쉽게 할 수 있습니다. 빌드 문제는 없지만, 프로젝트 빌드에서 POM을 사용할 때 여전히 충돌이 발생하고 LoggerFactory를 찾을 수 없다고 알려줍니다.

아파치 슬링 프로젝트에 문제가 기록되었지만별로 도움이되지 않습니다. https://issues.apache.org/jira/browse/SLING-2350 이 링크에는 Maven 플러그인을 사용하는 간단한 maven 프로젝트뿐만 아니라 좀 더 많은 문제 해결 정보가 포함되어 있습니다. jspc-test.zip 및 "mvn install"을 다운로드하면 앞서 언급 한 오류가 발생합니다.

또한, 나는 org.apache.juli pom.xml에서 최고점을 취했으며 모든 종속성을 나열하는 것처럼 보이지 않습니다.

해결 방법에 대한 의견을 보내 주시면 감사하겠습니다.

감사합니다.

+1

POM에 SLF4J API 종속성을 추가하려고 했습니까? – Perception

+0

예 - 나는 org.slf4j.api (여러 버전), org.slf4j.simple 및 꽤 많은 다른 org.slf4j.slf4jlog13 및 기타 몇 가지를 시도했습니다 (LoggerFactory는 org.slf4j.api에 있습니다. 나는 필요하다). 또한 로컬 빌드시 maven-jspc-plugin POM에 slf4j api depdency를 추가하려고했습니다. – empire29

답변

2

플러그인 종속성은 POM의 다른 부분에 제공됩니다 :

<project> 
    <dependencies> 
     <!-- dependencies defined here don't get included for plugins --> 
    ... 
    </dependencies> 
    <build> 
     <plugins> 
       <plugin> 
       .... jspc plugin section .... 
       <dependencies> 
         <dependency> 
         <!-- Try adding slf4j here ---> 

이미 SLF4J를 지정하지 않을 경우 자신의 POM이 무효 인 것처럼 소리를 않지만.

+0

juli pom.xml에 링크 (아파치의 repo에서) : https://repository.apache.org/content/repositories/releases/org/apache/tomcat/juli/6.0.35/juli-6.0.35.pom – empire29

+0

이것은 효과가 있었다. 지금 초기화되지 않은 log4j에 대한 경고가 표시되고 NullPointer 예외가 발생하지만 다른 문제가 있다고 생각합니다. – empire29

관련 문제