我在运行以下代码时收到以下错误:
java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils from BaseClassLoader
at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:448)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.dozer.util.ResourceLoader.getResource(ResourceLoader.java:53)
at org.dozer.util.DefaultClassLoader.loadResource(DefaultClassLoader.java:44)
at org.dozer.config.GlobalSettings.loadGlobalSettings(GlobalSettings.java:116)
at org.dozer.config.GlobalSettings.<init>(GlobalSettings.java:67)
at org.dozer.config.GlobalSettings.<clinit>(GlobalSettings.java:46)
at org.dozer.stats.StatisticsManagerImpl.<init>(StatisticsManagerImpl.java:39)
at org.dozer.stats.GlobalStatistics.<init>(GlobalStatistics.java:29)
at org.dozer.stats.GlobalStatistics.<clinit>(GlobalStatistics.java:24)
at org.dozer.DozerBeanMapper.<clinit>(DozerBeanMapper.java:59)
请指导我解决问题。
答案 0 :(得分:12)
我收到了同样的错误,我在pom.xml中添加了以下行,并在maven安装后正常工作:
<dependencies>
<!-- commons lang dependency -->
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
答案 1 :(得分:10)
如果你使用maven和Ubuntu 14.04:
这可能是由Ubuntu 14.04中包含的maven版本引起的,解决方法是从http://maven.apache.org/download.cgi下载maven tarball并使用该版本而不是发行版提供的默认版本。
更多信息: https://github.com/airbnb/chronos/issues/211
编辑:您还可以在commons-lang.jar中添加符号链接,以避免在评论中进行自定义安装(Source和@Shoham)
cd /usr/share/maven/lib
sudo ln -s ../../java/commons-lang.jar .
在尝试之前,请验证系统上的路径是否正确。它们应该适用于Ubuntu 14.04 OOTB,但始终要验证。
答案 2 :(得分:3)
您的代码似乎正在使用apache-commons-lang包。 从这里添加jar http://mvnrepository.com/artifact/commons-lang/commons-lang/2.6。 Chek您正在使用的版本。将jar添加到lib文件夹/ classpath。
答案 3 :(得分:3)
将commons-lang jar添加到WEB-INF / lib或server / lib
中答案 4 :(得分:1)
在您的类路径中包含commons-lang-<version>.jar
答案 5 :(得分:1)
我在最新版本的IntelliJ社区版(idea-IC-13.224.1
或版本14)和apache-maven 3.2.3
中遇到了同样的问题。
在commons-lang-2.6.jar
文件夹中添加丢失的jar($IDEA_HOME/plugins/maven/lib/maven3
)似乎可以修复它。