首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有Spring Boot的Neo4j-Ogm :当部署为可运行jar时,类路径扫描找不到DomainEntities

带有Spring Boot的Neo4j-Ogm :当部署为可运行jar时,类路径扫描找不到DomainEntities
EN

Stack Overflow用户
提问于 2016-08-20 18:56:26
回答 1查看 212关注 0票数 0

我正在使用ne4j-ogm 2.0.4将现有的应用程序从Spring-Data-Neo4j 3.x迁移到4.1。在克服了一些障碍之后,它现在直接从IDE启动时运行良好。

但是,当我通过Spring Boot runnable jar运行它时,它找不到任何DomainEntities:

代码语言:javascript
复制
(ClassPathScanner.java:132)    Classpath elements:
(ClassPathScanner.java:134)    D:\Programme\Project\myProject.jar
(DomainInfo.java:108)          Starting Post-processing phase
(DomainInfo.java:74)           Building annotation class map
(DomainInfo.java:87)           Building interface class map for 0 classes
(DomainInfo.java:136)          Checking for @Transient classes....
(DomainInfo.java:155)          Registering converters and deregistering transient fields and methods....
(DomainInfo.java:159)          Post-processing complete
(DomainInfo.java:69)           0 classes loaded in 40179 milliseconds

可执行jar是使用Spring Boot Gradle插件构建的,该插件允许将jar创建为可执行文件:

代码语言:javascript
复制
springBoot {
  executable = true
}

当jar启动时,我通过远程调试附加到应用程序,并发现org.neo4j.ogm.scanner.ClassPathScanner#scan只包含我的jar作为classPathElement。根据代码,现在应该将其作为zip/jar文件进行扫描。但是,当执行classPathElement.isFile()时,它的计算结果为false,并且跳过jar。为什么会这样呢?可执行jar文件不是文件吗?

我可以采取哪些步骤来使其运行?我可能会使用一些其他的部署机制,但我发现这相当简单并且工作良好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-22 00:29:07

我做了一些额外的调查,结果发现这与runnable jar一点关系都没有。这实际上是由于jar文件的路径中有一个空格造成的。

我认为这是一个非常有效的案例,我不确定为什么它不能工作。不过,在我的例子中,可以简单地重命名相应的文件夹并删除空格。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39053324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档