java - 如何在 Linux 中部署 Springboot 应用程序以及 Maven 依赖项

标签 java linux maven spring-boot

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

现在我必须让它在没有 UI 的 Linux 机器上运行。您能否帮助我如何在 Linux 计算机上实现相同的目标以及如何在 Linux 计算机上获取这些依赖项。

最佳答案

首先,确保您的 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>

关于java - 如何在 Linux 中部署 Springboot 应用程序以及 Maven 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56907508/

相关文章:

java.lang.ClassNotFoundException : com. mysql.jdbc.Driver 异常

java - 访问Scala变量: 'not found value: variable_name' Issue

java - MOXy:抛出实体类型与处理程序返回值不同的 WebApplicationException

linux - 如何使用 printf 将部分输入传递给 shell 脚本以自动运行它?

python - SSH连接成功后执行命令

java - 如何使用 Maven 从 Spring Boot 应用程序中删除所有 jar

Java 8 异常 : com. fastxml.jackson.datatype.jsr310.deser.InstantDeserializer 没有默认(无参数)构造函数

java - 在 Java 中创建迷宫求解算法

linux - 在 Linux 中如何通知用户空间应用程序驱动程序已收到中断?

java - Gradle 是否可以在无需重组目录的情况下处理遗留项目的构建?