java.lang.NoClassDefFoundError : org/slf4j/LoggerFactory

标签 java eclipse maven junit activiti

我正在尝试获取一个使用 JUnit 测试的 activiti 工作流程的示例。我收到以下错误:

java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
    at org.activiti.engine.impl.test.TestHelper.<clinit>(TestHelper.java:53)
    at org.activiti.engine.test.ActivitiRule.initializeProcessEngine(ActivitiRule.java:237)
    at org.activiti.engine.test.ActivitiRule.starting(ActivitiRule.java:205)
    at org.activiti.engine.test.ActivitiRule.startingQuietly(ActivitiRule.java:171)
    at org.activiti.engine.test.ActivitiRule.access$000(ActivitiRule.java:86)
    at org.activiti.engine.test.ActivitiRule$1.evaluate(ActivitiRule.java:124)
    at org.junit.rules.RunRules.evaluate(RunRules.java:20)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 22 more

我安装了Maven并执行了mvn eclipse:eclipse按照 activiti 文档中的建议(参见 activiti 用户指南中的 12.2)。由于这没有帮助,我尝试了 mvn eclipse:clean接下来是 mvn eclipse:eclipse 。但我仍然遇到同样的错误。

我有以下依赖项:

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>1.7.6</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-jdk14</artifactId>
  <version>1.7.6</version>
</dependency>

基于具有相同错误的其他线程,我添加了以下依赖项:

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.5</version>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.0.13</version>
   </dependency>  

不幸的是,这一切都没有改变与此错误有关的任何内容。谁能告诉我,我错过了什么?

这是整个 pom.xml:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.activiti.examples</groupId>
  <artifactId>activiti-examples</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>BPMN 2.0 with Activiti - Examples</name>
  <properties>
    <activiti-version>5.18.0</activiti-version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.activiti</groupId>
      <artifactId>activiti-engine</artifactId>
      <version>${activiti-version}</version>
    </dependency>
    <dependency>
      <groupId>org.activiti</groupId>
      <artifactId>activiti-spring</artifactId>
      <version>${activiti-version}</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-all</artifactId>
      <version>2.4.3</version>
    </dependency>
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>1.3.168</version>
    </dependency>
        <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.6</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-jdk14</artifactId>
      <version>1.7.6</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.5</version>
    </dependency>   
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
    </dependency>
  </dependencies>
     <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
           <version>2.3.2</version>
        <configuration>
             <source>1.6</source>
             <target>1.6</target>
           </configuration>
         </plugin>
         <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <inherited>true</inherited>
        <configuration>
             <classpathContainers>
               <classpathContainer>org.eclipse.jdt.USER_LIBRARY/Activiti Designer Extensions</classpathContainer>
             </classpathContainers>
           </configuration>
         </plugin>
    </plugins>
     </build>
</project>

最佳答案

尝试只使用这个:

<dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.7</version>
</dependency>

ATM机我们只使用这个,一切正常。

关于java.lang.NoClassDefFoundError : org/slf4j/LoggerFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36574268/

相关文章:

java - 执行Maven插件目标时如何获取所有设置的参数?

java - 如何访问android中的下载文件夹?

java - 尝试访问类中定义的 ArrayList 时出现 NoSuchFieldError

java - 将对象从 Fragment 的 GridView 传递到另一个 Fragment 的 ListView

eclipse - 如何在 WebStorm 中启动并运行服务器?

android - 奇怪的 logcat 过滤器行为

python - Eclipse Pydev : Run selected lines of code

spring - 在运行时 web 应用程序如何使用在项目的 pom.xml 中不同的 servlet-api.jar?

java - 在java中,如果我扩展一个类并且在重新定义每个函数时不使用 super 字段,该字段是否仍然使用内存?

java - 如何使用 Cargo Maven 插件部署在两个不同的 glassfish 域上?