如何在Linux中与Maven依赖项一起部署Springboot应用程序

时间:2019-07-05 17:59:48

标签: java linux maven spring-boot

我已经创建了一个Spring Boot Java应用程序(REST Services),该应用程序内部使用Tomcat作为Windows计算机上的Web服务器,并使用Eclipse作为IDE。它使用JDK 1.8和Maven作为构建系统。在这里,我创建了jar文件(以Maven Install的身份运行),然后从Windows计算机中的命令提示符处调用该jar文件。我在Windows计算机上使用POSTMAN测试了这些REST服务。

现在,我必须使其在没有UI的Linux机器上工作。您能帮我在Linux机器上实现相同功能以及如何在Linux机器上获得那些依赖吗?

1 个答案:

答案 0 :(得分:0)

首先,确保您的Linux服务器已安装Java。最适合您的本地Java版本。

第二,利用Maven插件生成可以启动该项目的Shell脚本。

下面是一个例子

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>appassembler-maven-plugin</artifactId>
    <version>1.10</version>
    <!-- bind to package phase -->
    <executions>
        <execution>
            <id>make-appassembly</id>
            <phase>package</phase>
            <goals>
                <goal>assemble</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <!-- set alternative assemble directory -->
        <assembleDirectory>${project.build.directory}/${project.artifactId}-${project.version}
        </assembleDirectory>
        <environmentSetupFileName>envSetup.sh</environmentSetupFileName>
        <includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
        <repositoryLayout>flat</repositoryLayout>
        <repositoryName>lib</repositoryName>
        <platforms>
            <!-- <platform>windows</platform> -->
            <platform>unix</platform>
        </platforms>
        <!-- Extra JVM arguments that will be included in the bin scripts -->
        <extraJvmArguments>-Dlog4j.configuration=file:$BASEDIR/etc/log4j.properties
            -Dapplication.properties=file:$BASEDIR/etc/XXX.properties
            -Xms2048m
            -Xmx12288m -server -showversion -XX:+UseConcMarkSweepGC
            -DXXX.log.dir=XXX
            -DXXX.app.id=XXX
        </extraJvmArguments>
        <programs>
            <program>
                <mainClass>com.xxx.App</mainClass>
                <name>xxx.sh</name>
            </program></programs>
    </configuration>
</plugin>