Java Maven和类在运行.jar文件时未发现异常
我开始使用简单的hello world应用程序学习maven,并添加了一些依赖项:Java Maven和类在运行.jar文件时未发现异常,java,maven,exception,Java,Maven,Exception,我开始使用简单的hello world应用程序学习maven,并添加了一些依赖项: <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>${slf4j.version}</version> </dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
然后,我使用maven lifecycle创建了.jar文件,当我尝试运行它时,出现以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at io.github.mat3e.App.main(App.java:11)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 1 more
为什么会这样?推荐使用SLF4J记录器API的方法是添加以下依赖项:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
应该行得通
查看您在哪里定义
slf4j.version
,您是否尝试过对其进行编码?
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
private static final Logger logger = LoggerFactory.getLogger(App.class);
logger.info("Hello World");