java - 无法将 Spring Boot 应用程序启动到 Linux 服务器

标签 java linux spring spring-boot ubuntu

我正在尝试将我的应用程序 spring boot 部署到 Linux 服务器中,所以我遵循了这个 link ,下面的文件代表我的单位声明服务:

#change this to your workspace
WorkingDirectory=/home/user1/myApp.dev/API/
[Service]
User=user1
ExecStart=/usr/bin/java -jar /home/user1/myApp.dev/API/myApp.jar
SuccessExitStatus=143
ExecStop=/bin/kill -INT $MAINPID
ExecReload=/bin/kill -TERM $MAINPID
# In case if it gets stopped, restart it immediately
Restart     = always

Type        = simple
[Install]
WantedBy=multi-user.target

当我启动我的应用程序时出现以下错误:

java.io.FileNotFoundException: logs/myLogs-api.log (No such file or directory).......Failed to create parent directories for [/logs/myLogs-api.log]

我的应用程序找不到 logs 文件夹,但它已经存在于我的 jar 文件夹 /home/user1/myApp.dev/API/ 的同一目录中。

我的logback配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_PATH:-logs}/myLogs-api.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_PATH:-logs}/myLogs-api.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <append>false</append>
        <encoder>
            <pattern>%d{dd-MM-yyyy HH:mm:ss.SSS} %magenta([%thread]) %highlight(%-5level) %logger{36}.%M - %msg%n</pattern>
        </encoder>
    </appender>



    <root level="info">
        <appender-ref ref="FILE" />
    </root>
</configuration>

最佳答案

看起来您的应用程序没有创建文件夹的权限

Failed to create parent directories for [/logs/myLogs-api.log]

作为测试,您可以尝试使用 sudo 运行应用程序。

关于java - 无法将 Spring Boot 应用程序启动到 Linux 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52487136/

相关文章:

java - 如何将 RenderedImage 序列化和反序列化为文本字符串?

linux - 使用 shell 在 pdf 中查找字符串

windows - 在硬盘上启动 native 操作系统作为虚拟机

ruby - 如何在Linux上使用Ruby实现实时USB存储检测?

java - 如何序列化您在 JMS 模板 Convert 和 Send 方法中发送的自定义对象

java - itext 字体颜色在第一页变暗

java - 如何生成一个范围内的随机整数

java - oauth2 spring-security 您应该在请求 token 或代码之前登录吗

java - Spring Boot 社交媒体 - facebook 登录

java - Android如何通过不同的activity访问同一个对象