Maven从命令行运行批处理,java.lang.NoClassDefFoundError

时间:2013-05-23 16:56:30

标签: java maven command-line

我遇到maven问题,并通过命令行执行java类调用。

我的应用程序使用spring,hibernate和maven。

我的小块pom.xml是这样的:

<profile>
<id>import</id>
<build>
 <plugins>
  <plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>exec-maven-plugin</artifactId>
   <executions>
    <execution>
     <goals>
      <goal>java</goal>
     </goals>
     <phase>test</phase>
      <configuration>
        <mainClass>com.mycompany.App</mainClass>
      </configuration>
     </execution>
    </executions>
  </plugin>
 </plugins>
</build>
</profile>

我试图从eclipse和我的应用程序运行,而在命令行上这样: mvn test -Pimport 我有一些错误:

"nested exception is java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory"

例如:依赖关系如此定义:

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.8</version>
<scope>runtime</scope>
</dependency>

有什么建议吗?

由于

1 个答案:

答案 0 :(得分:2)

我认为您可能遇到与this相同的问题。您的类路径上也应该有一个实现jar。例如

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.5.8</version>
        </dependency>

你的pom.xml中还有其他提及slf4j的内容吗?