首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在使用java 11的spring boot中加载日志记录资源文件

无法在使用java 11的spring boot中加载日志记录资源文件
EN

Stack Overflow用户
提问于 2019-12-02 18:16:58
回答 1查看 223关注 0票数 0

我在将我的应用程序迁移到java11时遇到了一个问题。当我试图加载我的日志配置时,我收到了一个FileNotFoundException

代码语言:javascript
复制
java.io.FileNotFoundException: class path resource [logging/logback-local.xml] cannot be resolved to URL because it does not exist
    at spring.core@5.2.1.RELEASE/org.springframework.util.ResourceUtils.getURL(ResourceUtils.java:137)
    at spring.boot@2.1.10.RELEASE/org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:293)
    at spring.boot@2.1.10.RELEASE/org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:264)
    at spring.boot@2.1.10.RELEASE/org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:226)
    at spring.boot@2.1.10.RELEASE/org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:203)
    at spring.context@5.2.1.RELEASE/org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
    at spring.context@5.2.1.RELEASE/org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
    at spring.context@5.2.1.RELEASE/org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
    at spring.context@5.2.1.RELEASE/org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
    at spring.boot@2.1.10.RELEASE/org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:76)
    at spring.boot@2.1.10.RELEASE/org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
    at spring.boot@2.1.10.RELEASE/org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:342)
    at spring.boot@2.1.10.RELEASE/org.springframework.boot.SpringApplication.run(SpringApplication.java:305)
    at spring.boot@2.1.10.RELEASE/org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
    at spring.boot@2.1.10.RELEASE/org.springframework.boot.SpringApplication.run(SpringApplication.java:1204)
    at FooApplicationModule@0.0.1-SNAPSHOT/foo.bar.Application.main(Application.java:23)

这是通过配置完成的,并在Java 8中工作:

这是我的application.yml

代码语言:javascript
复制
logging:
  config: classpath:logging/logback-local.xml

应用程序结构如下所示:

代码语言:javascript
复制
src
  -main
    -java
      -foo.bar.Application.java
    -resources
      -application.yml
      -logging
        -logback-local.xml
pom.xml

pom:

代码语言:javascript
复制
<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>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.10.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>
  <groupId>foo.group</groupId>
  <artifactId>application</artifactId>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <java.version>11</java.version>
    <spring.version>5.2.1.RELEASE</spring.version>
    <spring.boot.version>2.1.10.RELEASE</spring.boot.version>
  </properties>

  <dependencies>
    ...
  </dependencies>

  <build>
    <finalName>${project.artifactId}</finalName>
    <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
    <resources>
      <resource>
       <directory>${project.basedir}/src/main/resources</directory>
      </resource>
    </resources>
    <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <source>${java.version}</source>
          <target>${java.version}</target>
          <annotationProcessorPaths>
            <path>
              <groupId>org.mapstruct</groupId>
              <artifactId>mapstruct-processor</artifactId>
              <version>${mapstruct.version}</version>
            </path>
          </annotationProcessorPaths>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>

我认为这是拼图模块化系统的问题,但我在互联网上找不到任何解决方案。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-02 23:36:44

因此,在使用Hatice的建议进行了一些摆弄之后,问题消失了。我不知道是什么导致了这个问题。

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

https://stackoverflow.com/questions/59136781

复制
相关文章

相似问题

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