美文网首页征服SpringSpring-BootSpring Boot
spring boot使用总结(八)使用jar包部署spring

spring boot使用总结(八)使用jar包部署spring

作者: joyhj | 来源:发表于2017-02-19 19:03 被阅读3784次

    使用spring boot项目的一个特别之处是可以直接使用jar包来部署发布项目,十分方便,下面以部署到liunx系统为例来看一下具体应该怎么做。

    具体步骤:

    1. pom文件支持,pom文件中需要有如下配置:
      <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <executable>true</executable>
                    </configuration>
                </plugin>
            </plugins>
            <finalName>${project.artifactId}</finalName>
        </build>
    

    ps:finalName那行不是必须的。如果finalName像上面那样写,最后生成的jar不带版本号。

    1. 在/etc/init.d/ 目录下创建软连接指向jar包。假设需要部署的example.jar放在/home/server/example目录下。那么可以在/etc/init.d/目录下执行ln -s /home/server/example/example.jar example进行创建。

    2. 在/var/run目录下创建example目录,用于存放example.jar 运行生成的pid

    3. 运行 /etc/init.d/example start即可启动jar包,注意执行此命令的用户对example.jar和第2步创建的链接,第三步创建的目录要有读写执行权限。

    4. 在example目录下可以新建一个和jar包同名的example.conf文件,用于防止在/dev目录下生成日志文件。conf文件内容如下:

    LOG_FOLDER=/dev
    LOG_FILENAME=null
    
    1. 使用jar包部署项目之后,一些小的修改可以直接使用linux的rsync命令来进行增量同步,十分方便。

    参考文档:

    1. http://docs.spring.io/spring-boot/docs/current/reference/html/howto-build.html
    2. https://github.com/spring-projects/spring-boot/blob/master/spring-boot-tools/spring-boot-loader-tools/src/main/resources/org/springframework/boot/loader/tools/launch.script

    相关文章

      网友评论

      • 灿烂的黑土:跟着你的步骤进行 启动提示Failed to start,目录权限都有的。
        joyhj:可以试一下 用java -jar命令启动,然后根据是否可以启动再定位问题。
      • 灿烂的黑土:你好,我想问下,jar部署后,如果更新应用了,怎么能不停止服务的情况下更新。谢谢了。
        joyhj:这个可以搜索下jar包的热部署,热卸载。我没有实践过。
      • 紫玄:我想请问jar部署,那么项目中日志输出到哪去了呢?我在linux下没有找到日志输出
        紫玄:@vasthua 搞定了,谢谢
        joyhj:@mystic_cc 日志如果用logback的话,可以配一个logback的配置文件,指定日志输出的位置。
        其他的日志工具应该也类似,通过配置的方式可以指定输出的位置

      本文标题:spring boot使用总结(八)使用jar包部署spring

      本文链接:https://www.haomeiwen.com/subject/tmujwttx.html