当前位置: 首页 > 知识库问答 >
问题:

从cmd执行jar文件时的异常

漆雕兴平
2023-03-14

我想从cmd执行一个基于spring的jar文件。

这是我的pom。xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0" http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.3</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<groupId>granzplast</groupId>
<artifactId>fileserver</artifactId>

<version>1.0-SNAPSHOT</version>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.json</groupId>
        <artifactId>org.json</artifactId>
        <version>chargebee-1.0</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>commons-net</groupId>
        <artifactId>commons-net</artifactId>
        <version>3.6</version>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.11.0</version>
    </dependency>
</dependencies>


<!-- Build an executable JAR -->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>11</source>
                <target>11</target>
            </configuration>
        </plugin>
        <plugin>
            <!-- Build an executable JAR -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.1.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>granzplast.fileserver.Application</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </plugin>
   </plugins>
<packaging>jar</packaging>

我在intelliJ中创建了一个jar文件,它运行正常,但当我这样做时:java-jar fileserver-1.0-SNAPSHOT. jar

我得到:异常在线程"主"java.lang.NoClassDefFoundError: org/springFramework/引导/SpringApplication

编辑:Cmd错误

Mvn清理包:intelliJ提供的Mvn清理包

    [INFO] Building fileserver 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ fileserver ---
[INFO] Deleting C:\Users\anna_\IdeaProjects\fileserver\target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.624 s
[INFO] Finished at: 2022-03-25T13:53:51+01:00
[INFO] ------------------------------------------------------------------------

我一直在寻找其他答案但没人为我工作希望有人能帮忙

共有1个答案

卢光誉
2023-03-14

要么您的代码中有一些静态引用没有得到解析,要么fat jar缺少一些依赖关系库,为什么我在Java中遇到NoClassDefFoundError?

 类似资料:
  • 问题内容: 我想从bat文件执行Java类,它包括的用法。下面是代码: 运行它时出现以下错误。我认为“包含”存在任何问题,有人可以帮助我吗? 问题答案: 类似于classpath。 在Linux下: 在Windows下:

  • 问题内容: 我试图弄清楚如何引用python文件,以便可以在Java GUI Jar中执行它。它必须是一个可移植的解决方案,因此使用绝对路径对我不起作用。我在下面列出了我的项目结构,并包括了有关如何尝试执行python脚本的代码。感谢您提供的任何帮助! 问题答案: 使用开头的文件路径意味着您要从文件系统的根目录开始。 您的代码为我工作,只需删除该斜杠即可: 放置错误文件没有显示错误的原因是因为此J

  • null 这里出了什么问题。

  • 问题内容: 因此,我一直在编写一个简单的3D GUI应用程序,旨在让用户只需双击JAR文件即可使用。在将其放入JAR文件之前,它可以正常工作,并且在命令提示符下运行时(在jar文件的目录中键入“ java -jar Modeler.jar”),可以在JAR文件中使其完美运行。但是,当我双击它时,什么也没有发生。它运行完美,没有命令提示符下的错误。我从经验中知道,没有显示启动时的崩溃报告,因为控制台

  • 问题内容: 我如何从Java程序运行本地jar文件? jar文件不在Java调用程序的类路径中。 问题答案: 我建议你使用并启动一个新的JVM。 以下是一些入门知识:

  • 问题内容: 我有一个Maven项目,其中我正在尝试执行脚本(用R编写)。我也将此脚本文件放在源代码目录中。我发现此脚本根本没有执行。但是,当我将此脚本移到jar文件之外时,它会执行!谁能告诉我原因,并给我一些解决方案以将脚本放入jar中,同时确保其执行? 非常感谢 ! 问题答案: 我将执行以下操作: 使用ClassLoader.getResourceAsStream()获取文件的InputStre