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

为什么这个jar包装对于Spring Boot无效?

暨弘毅
2023-03-14

我无法理解的是,为什么当我使用Eclipse将所有依赖项提取到jar中的文件夹结构中时,jar不再作为一个正确的Spring Boot应用程序运行。

为了重复我在这里所做的事情,只需使用一个简单的Spring Boot应用程序,并从Eclipse中选择以下内容:

导出-->Runnable JAR-->选择Main Class-->将所需库提取到Jar中。

我只是想了解Spring实际上是如何通过其Maven插件打包文件的。

共有1个答案

邢勇
2023-03-14

我认为,因为它是一个Spring Boot应用程序,您需要使用他们的插件进行构建。这是因为,spring Boot有自己的jar加载机制(spring Boot1.4中的BOOT-INF介绍)。

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

来自文档:

Spring Boot Maven插件在Maven中提供了Spring Boot支持,允许您打包可执行的jar或war档案,并“就地”运行应用程序。

 类似资料:
  • 我是否遗漏了包装类中的某些细节? 我有以下程序,在其中我定义了一个类,它包装并提供运算符: 我以为这会编译成同样的东西--它在做同样的计算,所有的东西都是内联的。 编辑-如果我使用而不是,它将产生相同的输出。 编辑-我发布了错误的ASM版本(而不是),因此本节没有帮助。 我在我的Mac电脑上使用Xcode的gcc,在一个64位系统上。除了for-loop的主体之外,结果是相同的。

  • 我有一个spring data jpa应用程序,它使用H2进行存储。当我尝试将一些数据解析到表中时,我得到一个错误: 我有一个表定义为: 我的@Entity类为: 这是令人反感的记录,它显然小到足以容纳该列: 我所能想到的是分号或其他一些无效字符正在引发此异常。 有人能看到这里的问题,并提出处理它的替代方案吗?

  • 我试图打印包含,但是,HashSet没有检测到整数[]值。这和它被引用有关系吗?如果我不想将实际的整数[]对象传递给方法的参数,我如何克服这个问题?

  • 问题内容: 我有一个flex项目,它也是一个flex容器,问题是即使添加了,它的flex项目也拒绝包装。 谁能为我解决这个问题,或指出我做错了什么。 问题答案: 嵌套容器中的伸缩项目按 百分比 调整大小。 由于百分比长度基于父级的长度,因此 没有理由进行包装 。它们将始终是父级的40%,即使父级的宽度为1%。 如果您使用其他长度单位,例如或,它们将自动换行。

  • 我在更新链式lodash操作时遇到了这个问题,我不明白为什么会有不同的效果 我把范围缩小到用链子把一根forEach拴在一个lodash包装纸上 https://jsbin.com/wahokezeja/edit?js,控制台 这将抛出一个错误: “TypeError:\(…)。forEach(…)。groupBy不是一个函数 但是,当使用贴图链接时,效果很好 https://jsbin.com/

  • 我有以下JSON文件,它是通过调用数据流生成的。使用以下代码,我无法打开文件,而是出现以下错误: 我使用了Jsonlint并得到以下错误: 我曾尝试通过pandas打开该文件,但也不起作用。任何帮助都将不胜感激,我不知道如何调试这一点。 输出: