Плагин Maven собирается, но не может быть выполнен из-за java.lang.NoClassDefFoundError: org / slf4j / LoggerFactory - PullRequest
1 голос
/ 10 января 2012

Я использую maven-jspc-plugin в моем pom.xml.

Когда я пытаюсь выполнить цель jsp-compile (которая выполняет плагин), я получаю:

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) 

Я попытался загрузить (открытый) исходный код для maven-jspc-plugin, и я могу легко "установить mvn" - у меня не возникает проблем со сборкой, однако, когда я использую эту сборку в моем проекте pomон все еще падает и сообщает мне, что не может найти LoggerFactory.

Я зарегистрировал проблему с проектом Apache Sling, но не добился большого прогресса.https://issues.apache.org/jira/browse/SLING-2350 Эта ссылка содержит дополнительную информацию по устранению неполадок, а также простой проект maven, использующий плагин maven.загрузка jspc-test.zip и "установка mvn" приведет к ошибке, о которой я упоминал.

Кроме того, я взял пик в org.apache.juli pom.xml, и он не отображаетсяПеречислите любые зависимости вообще.

Буду признателен за любые мысли о том, как решить.

Спасибо!

1 Ответ

2 голосов
/ 10 января 2012

Зависимости плагина поставляются в другой части 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 --->

Хотя это звучит так, как будто их POM является недействительным, если он еще не указывает slf4j.

...