java - Maven 插件构建但无法执行,因为 java.lang.NoClassDefFoundError : org/slf4j/LoggerFactory

标签 java maven maven-plugin slf4j pom.xml

我在 pom.xml 中使用 maven-jspc-plugin。

当我尝试执行 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 install”——我没有遇到任何构建问题,但是当我在项目中使用该构建时pom 它仍然崩溃并告诉我它找不到 LoggerFactory。

我已经记录了 Apache Sling 项目的问题,但没有取得太大进展。 https://issues.apache.org/jira/browse/SLING-2350 此链接包含更多故障排除信息以及使用 Maven 插件的简单 Maven 项目。下载 jspc-test.zip 和“mvn install”将导致我提到的错误。

此外,我在 org.apache.juli pom.xml 上进行了测试,它似乎根本没有列出任何依赖项。

任何有关如何解决问题的想法将不胜感激。

谢谢!

最佳答案

插件依赖项在 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,则它是无效的。

关于java - Maven 插件构建但无法执行,因为 java.lang.NoClassDefFoundError : org/slf4j/LoggerFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8797773/

相关文章:

java - 立即从 Java 8 流的集合中返回一个值

java - 如何使用 java SDK 在 token 过期后重新连接到 QBO API

java - 使用先前由 maven 构建的依赖项在 IntelliJ 中构建单个类

maven - 从 Maven pom 中排除传递依赖

spring-boot - 调试不适用于Spring Boot 2.2和IntelliJ Idea

java - 用于动态更新依赖版本的 Maven 插件/扩展

java - 显示来自服务器的图像时 ListView 卡住且动画不流畅

java - 我必须将 json 文件放在哪里才能在 Java 中使用?

java - 如何使用 maven-swagger-codegen-plugin 生成文档?

selenium - 在制作 Maven 项目时出现 "could not calculate build plan"插件错误