java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils from BaseClassLoader

2022-09-02 12:13:21

我在运行以下代码时收到以下错误

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)

请指导我解决问题。


答案 1

我收到了相同的错误,我将以下行添加到我的文件中,并在以下之后工作正常:pom.xmlmaven install

<dependencies>

        <!-- commons lang dependency -->
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>

</dependencies> 

答案 2

如果您使用 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以避免进行自定义安装(源代码和@Shoham在评论中)

cd /usr/share/maven/lib
sudo ln -s ../../java/commons-lang.jar .

在尝试之前,请验证系统上的路径是否正确。他们应该适用于Ubuntu 14.04 OOTB,但始终进行验证。


推荐