java.lang.ClassNotFoundException:org.springframework.boot.SpringApplication 与 maven-jar-plugin

2024-01-27

我是 Spring 和 Maven 的新手。 我正在尝试运行一个简单应用程序的 jar,但收到以下错误:

java -jar target/gs-rest-service-0.0.1-SNAPSHOT.jar 
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
    at hello.Application.main(Application.java:10)
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more

这是 pom.xml:

<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>
  <groupId>gs-rest-service</groupId>
  <artifactId>gs-rest-service</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>MyApp</name>
  <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>hello.Application</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>4.3.10.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot</artifactId>
        <version>1.5.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-autoconfigure</artifactId>
        <version>1.5.5.RELEASE</version>
    </dependency>
  </dependencies>
</project>

这是需要 SpringApplication 的主类:

package hello;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

我还可以看到 org.springframework.boot.SpringApplication 恰好位于 Maven 依赖项库中应有的位置。 所以我不太确定到底发生了什么导致了这个错误。

任何想法?


您可以尝试升级版本maven-jar-plugin to 3.0.2 and

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.0.2</version>
        <configuration>
          <archive>
            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
          </archive>
        </configuration>
        ...
      </plugin>
    </plugins>
  </build>
  ...
</project>

如果出现此错误,那么您可以按照this https://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-mavenstackoverflow 链接,问题来自soemirno您可以在哪里获得有关此问题的专家的合适答案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.lang.ClassNotFoundException:org.springframework.boot.SpringApplication 与 maven-jar-plugin 的相关文章

随机推荐

  • 迭代 Data.Set 直到成功

    假设我有一个代表某些可能失败的计算的函数 f a gt Maybe b 如果我有一个清单l 我可以找到列表中的第一个 从左到右扫描时 项目f成功使用findList f l where findList是下面的函数 findList a g
  • SQL Server 脚本 2012 项目集成到 Team Foundation Server 2012 中

    我有一个包含多个 SQL 查询和存储过程的 SQL Server 脚本 2012 项目 我们使用 Team Foundation Server 2012 来管理 Visual Studio 解决方案的源代码 如何将 SQL Server S
  • 基于 Scanline 的 2D 渲染引擎如何工作?

    您能否为我提供一个参考 以帮助我了解基于扫描线的渲染引擎的工作原理 我想实现一个 2D 渲染引擎 它可以支持基于区域的剪切 基本形状绘制和抗锯齿填充以及基本变换 透视 旋转 缩放 我需要优先考虑性能而不是质量的算法 因为我想为没有 fpu
  • Rails 5.2 Active Storage 清除/删除附件

    因此 我使用 Active Storage 上传附加到集合模型的多个图像 一切正常 除非我尝试从集合中清除 删除单个附件 问题 由于某种原因 每当我加载集合的显示页面时 我的所有图像都会立即被清除 删除 当然 我只想在单击链接时删除文件 有
  • ios11如何防止录屏

    由于某些原因 我们的APP不希望人们录制屏幕 但是在ios11中 一个新功能可以让用户录制iPhone屏幕 那么是否有API或通知表明用户正在录制 十分感谢 您可以通过以下方式检测屏幕是否正在录制 UIScreen main isCaptu
  • 无法创建 F# Android 项目 - Visual Studio 2015 Xamarin 社区

    我正在按照对话选项从 Xamarin 下载页面在 Visual Studio 社区版中创建新的 F Android 空白活动 但运气不佳 C android 项目似乎工作得很好 这是 Xamarin 开源公告后不久发布的 Visual St
  • 将嵌套列表(不等长)转换为数据框[重复]

    这个问题在这里已经有答案了 我有一个嵌套列表 对于某些指数 缺少一些变量 1 sk ques pval 10 sfsf 0 05 2 sk ques pval diff 24 wwww 0 11 0 3 3 sk ques pval dif
  • Java 使用 Cassandra 的最佳 api/库是什么? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找具有以下要求的 API 它使用简单且简洁 它并不臃肿 以 Spring 的方式工作 或者至少很容易使其与 Spring 一起工作
  • WKWebView 添加为子视图在 Swift 中旋转时不会调整大小

    我正在努力向我的浏览器应用程序添加新的阅读视图 它是另一个视图控制器 仅包含作为子视图添加的 WKWebView 并带有用于关闭视图的按钮 和手势 一切都很好 但是当我旋转设备时 子视图的大小没有调整 所以我的屏幕的一半是空的 阅读视图中的
  • Shared_ptr 和 unique_ptr 有例外

    From en cppreference com http en cppreference com w cpp memory unique ptr std unique ptr 的典型用途包括 提供异常安全 处理具有动态生命周期的对象的类和
  • 为什么角度日期过滤器将 2 添加到小时?

    我使用角度 日期 过滤器在角度js中创建了一个持续时间计时器 由于某种原因 小时部分以 2 而不是 0 开头 我像这样使用过滤器 runningDuration date HH mm ss http jsfiddle net rpg2kil
  • 有没有办法通过图形浏览器API获取所有应用程序的主列表

    In Azure Active Directory 管理中心 我可以看到下面有近200个应用程序企业应用 我怎样才能通过这个微软图形资源管理器 我尝试过这个 https graph microsoft com beta applicatio
  • 如何将所有 VBScript 文件的 cscript.exe 更改为 wscript.exe 执行?

    安装新服务器后 我遇到了一个问题 我有很多 vbs 文件 都需要在 wscript 中运行 原因是 我使用所有这些命令 例如 WScript Echo hello 我希望双击时能够看到输出VBScript http en wikipedia
  • 如何复制字典并仅编辑副本

    I set dict2 dict1 当我编辑时dict2 原本的dict1也发生变化 为什么 gt gt gt dict1 key1 value1 key2 value2 gt gt gt dict2 dict1 gt gt gt dict
  • 我需要一个 hack 来制作 xslt 让我们为变量设置新值

    我读到 与编程语言不同 XSLT 不允许我们为变量设置新值 我只是想知道是否有任何技巧可以绕过人们正在使用的这个限制 因为有能力重置 a 的值variableAFAIK 本质上很有用 好吧 至少如果我们可以重置变量的值 我可以在这里解决我的
  • Flutter - 如何在 GetStorage 中存储列表?

    对于用户浏览的每一篇文章 我想保存ID信息 我正在使用 getstorage 我的代码示例如下 我也找不到真正的方法 我正在寻找保存 id 列表的最佳方法 final box GetStorage List
  • 防止隐藏字段改变

    如果我的 ChangePassword 表单包含隐藏的用户 ID 字段怎么办 BadPerson 知道 GoodPerson 的 ID 他使用 FireBug 打开 更改密码 表单 将其 Id 更改为 GoodPerson 的 Id 因此
  • 如何在Python中的函数调用之间维护列表和字典?

    我有一个功能 在里面我维护着一个值字典 我希望在不同的函数调用之间维护该字典 假设 dic 是 a a 1 b 2 c 3 第一次打电话说 我变了a a to 100 字典变成a a 100 b 2 c 3 在另一个电话中 我改变了a b
  • 防止/使修补二进制程序集变得困难

    我不确定术语是否正确 您可以使用哪些代码实践来使某人难以修改二进制文件 程序集以绕过检查 例如在源代码中 bool verificationResult verify if verificationResult allow Somethin
  • java.lang.ClassNotFoundException:org.springframework.boot.SpringApplication 与 maven-jar-plugin

    我是 Spring 和 Maven 的新手 我正在尝试运行一个简单应用程序的 jar 但收到以下错误 java jar target gs rest service 0 0 1 SNAPSHOT jar Exception in threa