Java JAR抛出slf4j缺失错误,即使它在其他VM上工作正常

Java JAR抛出slf4j缺失错误,即使它在其他VM上工作正常,java,jar,centos,slf4j,Java,Jar,Centos,Slf4j,我有一个由我的同事准备的自定义jar文件,我需要在多个VM上运行它。它在一个VM中完成得很好,而在另一个VM中抛出以下错误: [limak@homesystem utilities]$ java -jar project1.jar parameter1 Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory at com.xxx.zz.yyy.aa.m

我有一个由我的同事准备的自定义jar文件,我需要在多个VM上运行它。它在一个VM中完成得很好,而在另一个VM中抛出以下错误:

[limak@homesystem utilities]$ java -jar project1.jar parameter1
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
        at com.xxx.zz.yyy.aa.modules.bbbb.cccc.<clinit>(dddd.java:18)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 1 more
[limak@homesystem实用工具]$java-jarproject1.jar参数1
线程“main”java.lang.NoClassDefFoundError中出现异常:org/slf4j/LoggerFactory
位于com.xxx.zz.yyy.aa.modules.bbbb.cccc.(dddddd.java:18)
原因:java.lang.ClassNotFoundException:org.slf4j.LoggerFactory
位于java.net.URLClassLoader.findClass(URLClassLoader.java:382)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:418)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 还有一个
当我搜索这个错误时,大多数源指向缺少的class或pom.xml设置。然而,由于它在vma中运行良好,并在vmb中抛出错误,所以我假设vmb设置有问题,而不是jar本身。这两台机器都安装了相同的系统(Centos 7.8)、相同的java版本(OpenJDK 1.8.0_252)以及与yum一起安装的相同的slf4j和log4j软件包(尽管我的理解是我不需要它们)。VM B中可能缺少什么

pom.xml的一部分:

<dependencies>
[...]
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>alf4j-log4j12</artifactId>
    </dependency>
[...]
</dependencies>

[...]
org.slf4j
slf4j api
org.slf4j
alf4j-log4j12
[...]