【问题标题】:Jar entry not found by running gradle generated jar运行 gradle 生成的 jar 找不到 jar 条目
【发布时间】:2014-08-16 00:45:36
【问题描述】:

我已经从 spring 入门指南下载了源代码(zip 文件):http://spring.io/guides/gs/rest-service/

在“完成”文件夹中构建整个项目是成功的。使用 Gradle (gradle run) 运行生成的 jar 文件也成功了。但是当我尝试在 Windows 命令行中使用“java -jar build\libs\gs-rest-service-0.1.0.jar”手动运行它时,启动过程失败并出现以下错误:

2014-06-25 14:17:22.414 ERROR 6864 --- [main] os.boot.SpringApplication : 应用程序启动失败

org.springframework.beans.factory.BeanDefinitionStoreException:类路径扫描期间 I/O 失败;嵌套异常是 java.io.FileNotFoundException: JAR 在 D:\gs-rest-service-master\complete\build\libs\gs-rest-service-0.1.0.jar 中找不到条目 /hello/

显然 spring 找不到文件夹“hello”,即使它位于 jar 中(我已经使用命令“jar -ft”检查了它)。

【问题讨论】:

  • 也许可以试试gradle run --debug 看看gradle是如何运行jar的
  • 调试输出很不清楚。在某些行中,会显示空指针异常,但在之前的行中还会显示消息“丢弃解析失败”。这意味着这些小解析错误将被忽略。

标签: spring rest gradle spring-boot


【解决方案1】:

您没有说您使用的是哪个版本的 Boot,但听起来您遇到了特定于 Windows 的recently reported problem in 1.1.2。您可以退回到 1.1.1 或等待 1.1.3,鉴于 Windows 上 1.1.2 的问题,应该在不久的将来可用。

【讨论】:

  • 就像你说的,这个问题是由上面提到的引导版本 1.1.2 和 Windows 之间的不兼容引起的。我只是在 Gradel 构建文件中设置了 1.1.1 版本,它工作正常。谢谢你的回答。
猜你喜欢
  • 2019-11-13
  • 1970-01-01
  • 1970-01-01
  • 2021-08-18
  • 2012-01-27
  • 1970-01-01
  • 2012-04-14
  • 2019-08-23
  • 1970-01-01
相关资源
最近更新 更多