einige Probleme mit Java und slf4j Projekt mit der Idee gemacht und es ist in Ordnung. Aber wenn ich versuche, ein Glas mit Gradle zu machen, habe ich ein paar Probleme.Verursacht von: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
build.gradle
group 'test.test'
version '1.0-SNAPSHOT'
apply plugin: 'java'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
compile 'org.slf4j:slf4j-api:1.7.20'
compile 'ch.qos.logback:logback-classic:1.1.7'
}
jar {
manifest {
attributes 'Main-Class': 'Test'
}
}
Test.java
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Test {
private static final Logger LOGGER = LoggerFactory.getLogger(Test.class);
public static void main(String[] args) {
LOGGER.info("info");
}
}
Terminal:
gradle build
java -jar target/HttpServer-1.0-SNAPSHOT.jar
Ausgang:
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at HttpServerHH.Main.<clinit>(Main.java:15)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
Ich habe versucht, Gradle/Maven (MVN-Paket) das gleiche Problem zu verwenden. Einige Gründe, warum Logger und LoggerFactory im Klassenpfad nicht gefunden werden können.
Logback-Core wurde geändert. Nach meinem Verständnis. Aktualisieren Sie auch die Abhängigkeit mit der rechten Maustaste auf Projekt -> Gradle -> Abhängigkeit aktualisieren. Es sollte für Sie funktionieren – Deepak
das gleiche Ergebnis – dmitryvim