La documentation SLF4J indique que dans le cas d'une erreur NoClassDefFoundError, le fichier jar slf4j-api-1.7.25 doit être ajouté au chemin de classe. J'ai ajouté ce fichier à mon classpath, mais je reçois toujours cette erreur:NoClassDefFoundError lors de l'utilisation de Simple Logging Facade pour Java, même avec slf4j-api.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFac
at SchemaDetailsTest.<clinit>(SchemaDetailsTest.java:9)
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)
... 1 more
Voici mon classpath:
java -cp "C:\Users\Tiffany\Desktop\baffle-sql-parser-master\library\src\demos\analyzescript\slf4j-1.7.25.jar;C:\Users\Tiffany\Desktop\baffle-sql-parser-master\library\src\demos\analyzescript\slf4j-1.7.25\slf4j-api-1.7.25-sources.jar;C:\Users\Tiffany\Desktop\baffle-sql-parser-master\library\src\demos\analyzescript\slf4j-1.7.25\slf4j-simple-1.7.25.jar;C:\Users\Tiffany\Desktop\baffle-sql-parser-master\library\src\demos\analyzescript\mysql-connector-java-5.1.42-bin.jar;C:\Users\Tiffany\Desktop\baffle-sql-parser-master\library\src\demos\analyzescript" SchemaDetailsTest
Et voici une partie du code:
private static Logger log = LoggerFactory
.getLogger(SchemaDetailsTest.class);
public static void main(String args[]) throws Exception {
String databaseName = "myDbName";
String JDBC_DRIVER = "jdbc:mysql://34.210.136.158:3306/";
String USER = "servicenowapp";
String PWD = "test";
// Setup the connection with the DB
Class.forName("com.mysql.jdbc.Driver");
Connection conn = null;
try {
conn = DriverManager.getConnection(JDBC_DRIVER, USER, PWD);
}catch(Exception e){
e.printStackTrace();
}
Tout avis sera le bienvenu!
ou mieux encore, utilisez Maven ou Gradle. – chrylis
@chrylis Ou apache-lierre ou sbt. –