【问题标题】:Getting error while trying to start springboot application on existing gradle project尝试在现有 gradle 项目上启动 Spring Boot 应用程序时出错
【发布时间】:2020-12-10 11:03:31
【问题描述】:

我从 Git 克隆了项目,但是当我运行应用程序类时出现此错误。

Logging system failed to initialize using configuration from 'classpath:logback-spring.xml'
java.lang.IllegalStateException: Logback configuration error detected: 
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[rollingfileSync] - Failed to create parent directories for [/opt/apps/aggregator/api/logs/Duke-service.log]
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[rollingfileSync] - openFile(/opt/apps/aggregator/api/logs/Duke-service.log,true) call failed. java.io.FileNotFoundException: /opt/apps/aggregator/api/logs/Duke-service.log (No such file or directory)
    at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:169)
    at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithSpecificConfig(AbstractLoggingSystem.java:67)
    at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:57)
    at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:117)
    at org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:298)
    at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:266)
    at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:229)
    at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:202)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
    at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:75)
    at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54)
    at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:347)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:306)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
    at Application.main(Application.java:26)
2020-08-21 09:35:31.400 ERROR 21323 --- [           main] o.s.boot.SpringApplication               : Application run failed

【问题讨论】:

  • 创建该路径的文件夹(/opt/apps/aggregator/api/logs)和文件(Duke-service.log),并提供对/opt/的文件夹和文件的写权限应用程序/聚合器/api/logs/Duke-service.log

标签: java spring-boot gradle build logback


【解决方案1】:

从日志看来,用户(通过它登录,例如 abhishek)没有创建目录 /opt/apps/aggregator/api/logs 的权限

所以首先要确保运行 Springboot 服务器的用户 (abhishek) 有创建目录的权限。

您可以通过在(/opt/、/opt/apps/ 和子目录如果它们已经存在)中执行 ls -ltra 来检查这一点

例如

-rw-r--r-- 1 raviy raviy 655 2019 年 2 月 25 日 .profile -rw-r--r-- 1 raviy raviy 220 2019 年 2 月 25 日 .bash_logout

这里 raviy 是所有者,如果您不是所有者,则更改权限(使用 sudo 或询问管理员)

chmod -R 777 /opt(应避免使用 777,它是运行程序的必要条件)

之后java应该能够创建目录

【讨论】:

    猜你喜欢
    • 2018-08-31
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    • 2015-03-14
    • 2021-05-18
    • 2020-06-27
    • 2020-08-16
    • 1970-01-01
    相关资源
    最近更新 更多