Spring Boot 1.5.2:类路径资源[]无法解析为URL,因为它不存在

时间:2017-04-15 17:11:07

标签: java jpa spring-boot

在我的Spring Boot 1.5.2应用程序中,我得到以下异常:

java.io.FileNotFoundException: class path resource [] cannot be resolved to URL because it does not exist

如果没有标有@Entity的类,我读到它是Spring Boot 1.4.1中的一个错误,但是,我使用的是更新的版本,而且我还有用@Entity注释的类,所以我真的不知道错误的原因是什么。

我的SpringApplication课程位于org.common.deployment,实体位于org.common.deployment.model,因此如果我注释我的SpringApplication课程,则应找到实体:

@SpringBootApplication
@EnableTransactionManagement
public class DeploymentBootstrapper {
  public static void main(String[] args) {
    SpringApplication.run(DeploymentBootstrapper.class, args);
  }
  ...
}

只有在GitLab CI服务器上构建项目时才会出现错误,而不是在本地运行单元测试时。

1 个答案:

答案 0 :(得分:-1)

我不知道这还是一个话题。我遇到了几乎同样的问题。像IDE中的一个魅力和开发环境一样工作,但是应用程序无法在构建系统上启动并出现上述错误。

解决方案(至少在我的最后)是在META-INF中放置一个没有任何实体的orm.xml。即使在类路径上使用此文件,仍然可以找到带注释的实体。

<?xml version="1.0" encoding="UTF-8" ?>
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_2_1.xsd"
                 version="2.1">
</entity-mappings>