java - maven java.lang.NoClassDefoundError Linux

标签 java linux shell maven command-line

我有一个在 intellij idea 上完美运行的 Maven 项目,但是当我尝试使用命令行运行它时,我得到了这个错误 java.lang.NoClassDefoundError 我用过

   mvn clean install 
   mvn dependency:copy-dependencies cd target/ 
   java -cp Flux-1.0-SNAPSHOT.jar:dependency SocketServer

这是我的 pom.xml 文件

<?xml version="1.0" encoding="UTF-8"?>

http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0

<groupId>groupId</groupId>
<artifactId>Flux</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
    <!-- https://mvnrepository.com/artifact/com.jcraft/jsch -->
    <dependency>
        <groupId>com.jcraft</groupId>
        <artifactId>jsch</artifactId>
        <version>0.1.54</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/postgresql/postgresql -->
    <dependency>
        <groupId>postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>9.1-901-1.jdbc4</version>
    </dependency>
    <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-compiler</artifactId>
        <version>2.13.0-M3</version>
    </dependency>
    <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-compiler</artifactId>
        <version>2.13.0-M3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.neovisionaries/nv-websocket-client -->
    <dependency>
        <groupId>com.neovisionaries</groupId>
        <artifactId>nv-websocket-client</artifactId>
        <version>2.3</version>
    </dependency>
</dependencies>

谁能帮我解决这个问题谢谢

最佳答案

通过此错误消息 java.lang.NoClassDefoundError,您可以看到它引用了一个找不到的类文件。查看该class文件属于哪个jar包。获取该 jar 文件并将其放入 java 类路径中。

还尝试从您的 Maven 项目的父目录运行,如下所示:-

 java -cp target/Flux-1.0-SNAPSHOT.jar:dependency SocketServer

或者像下面这样尝试:-

  java -jar target/Flux-1.0-SNAPSHOT.jar

您可以像下面这样设置类路径:-

 CP="\path\some.jar"

 java -jar -cp $CP target/Flux-1.0-SNAPSHOT.jar // but in windows %CP%

关于java - maven java.lang.NoClassDefoundError Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49609875/

相关文章:

java - 使用从命令行运行的命令在 Java 中使用 exec 进行编译和执行失败

java - 在 while 循环中检查 wait() 的什么条件?

java - 如何在java中使用返回类型为void的递归方法?

javascript - 想要从 .txt 文件中删除一组字符

c - 验证进程不再具有控制终端的方法

linux - 如何在shell中使用正则表达式来匹配文件名?

java - 如何修复 Java 中的 CDC float AWT 框架?

java - 是否可以使用泛型但需要特定的父类型?

linux - 在内核 3.8 x 中编译时,内核代码中的 netlink_kernel_create 不起作用

linux - 如何使用linux命令分割大目录