在eclipse luna中使用JGit时获取NoClassDefFoundError
我最近下载了eclipse luna并通过Eclipse安装了EGit插件。 我可以在eclipse / plugins文件夹中看到下载jar文件。 然后我将JGit jar文件添加到我的构建路径中,我可以在Referenced Libraries文件夹中看到类文件。
但是,当我运行该项目时,我收到以下错误
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory at org.eclipse.jgit.util.FS.(FS.java:112) at org.eclipse.jgit.lib.BaseRepositoryBuilder.setupWorkTree(BaseRepositoryBuilder.java:620) at org.eclipse.jgit.lib.BaseRepositoryBuilder.setup(BaseRepositoryBuilder.java:556) at org.eclipse.jgit.storage.file.FileRepositoryBuilder.build(FileRepositoryBuilder.java:92) at org.eclipse.jgit.storage.file.FileRepositoryBuilder.create(FileRepositoryBuilder.java:110) at upload_gen.Launcher.main(Launcher.java:16) Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) 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) ... 6 more
我搜索了一个问题,说这可能是因为我的类路径不包含jar文件。 但是当我检查“运行|运行配置”中的类路径选项卡时,它似乎包含了jar文件。 我还检查了根文件夹中的.classpath文件,看起来像这样
我还尝试在项目根目录中的lib文件夹中添加JGit jar文件,如上面的.classpath文件中所示。 简而言之,我尝试在外部和内部添加jar文件,但我仍然收到错误。 我也尝试使用类变量引用jar文件,但这也不起作用。 编译项目时也没有错误,只有在项目运行时才会出错。
您可能需要在Eclipse中的库中添加一个slf4j jar。
应添加的确切slf4j jar是: slf4j-api-
版本号将随时间而变化。
您可以在他们的网站http://www.slf4j.org/download.html下载jar。 应该像slf4j-
解压缩并将slf4j-api-
到构建路径中。
- Jar hell:如何在运行时使用类加载器将一个jar库版本替换为另一个jar库版本
- IntelliJ:如何将文件夹中的所有jar文件添加到classpath
- 确定Matlab加载的java类的位置
- 如何从jdk覆盖类?
- Weblogic 10.3.1.0正在使用com.bea.core.apache.commons.net_1.0.0.0_1-4-1.jar …我想从我的代码中使用commons-net-2.0.jar
- 如何编译Hive UDF
- Java Classpath错误 – 无法找到我的类
- 从命令行运行包中的java
- Mac上的CLASSPATH,以及Mac如何寻找mysql-connector-java-bin.jar