首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >找不到StringUtils类

找不到StringUtils类
EN

Stack Overflow用户
提问于 2017-11-03 00:48:53
回答 1查看 8.4K关注 0票数 3

我编写了一个控制台应用程序,它将文本文件读入字符串,然后处理文件内容。我在我的项目中使用了maven,启用了自动导入,添加了适当的依赖项,但是当我试图使用replace()方法处理字符串时(这个方法属于org.apache.commons.lang3.StringUtils类),我会得到下面提到的错误。此外,当我在intelliJ中启动我的应用程序时,它运行得非常完美,一切似乎都很好。当我用maven编译和构建.jar文件,然后通过终端启动它时,它会报告以下错误:

线程"main“java.net.URLClassLoader.findClass(URLClassLoader.java:381):org/apache/java.lang.NoClassDefFoundError/lang3 3/StringUtils at com.company.Reader.process(Reader.java:47) at com.company.App.main(App.java:9)中的异常,原因是: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass( java.lang.ClassLoader.loadClass(ClassLoader.java:357) )Launcher.java:335

此外,我的pom.xml中的依赖项如下所示:

代码语言:javascript
运行
复制
 <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.5</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.5</version>
    </dependency>
      <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
      <dependency>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-lang3</artifactId>
          <version>3.4</version>
      </dependency>
      <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-library</artifactId>
      <version>1.3</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <version>1.8.4</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

我不知道可能出了什么问题。我知道一种使我的程序工作的方法,即手动下载带有commons 3的.jar并将它包含在我的项目中,但这对我来说不是一个令人满意的解决方案。有人知道我为什么会犯这样的错误吗?提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-03 01:01:57

您没有将整个pom.xml放在一起,但我想您忘记了依赖关系:

代码语言:javascript
运行
复制
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.4</version>
</dependency>

您说过您的项目在Intellij中工作,那么您的计算机中已经有了通用的语言3。

我认为问题存在于maven依赖项中。

尝试通过项目根文件夹中的命令行执行:mvn clean install

你需要把你的commons-lang3-3.4.jar放在类路径中

两个帮助您的链接:

https://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html

Run a JAR file from the command line and specify classpath

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47086802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档