使用 nohup 部署和后台运行Java 项目

简介: 使用 nohup 部署和后台运行Java 项目

使用 nohup 部署和后台运行 Java 项目

1. 下载示例项目

首先,我们选择了Spring官方的PetClinic项目作为示例。你可以通过以下命令将项目代码下载到本地:

git clone https://github.com/spring-projects/spring-petclinic.git

  • 这个项目本地运行是这样的

2. 构建项目

进入项目目录,使用Maven或Gradle进行项目构建。如果使用Maven,执行以下命令:

cd spring-petclinic
./mvnw clean package

如果使用Gradle,执行:

cd spring-petclinic
./gradlew clean build

如果有IDEA的话可以按照下面的操作进行

以maven形式打开项目

重新加载一次maven

  • 先clean一下

  • 再package

  • 这里有打包好的jar包

3. 上传 JAR 文件到服务器

将构建好的JAR文件上传至部署服务器。可以使用scp或其他文件传输工具:

scp target/spring-petclinic.jar user@your_server_ip:/path/on/server

确保替换 user 为服务器用户名,your_server_ip 为服务器IP地址,/path/on/server 为服务器上的存储路径。

  • 也可以直接使用xshell
  • 直接拖动jar包到xshell的jar文件夹下面

4. 使用 nohup 启动 Java 项目

输入nohup java -jar xxx.jar >> api.log &可以运行

  • 可以看到生成了一个api.log日志文件,通过cat命令可以看我们这个项目运行时候的状态,很显然报错了,这个错误是springboot版本的问题,修改一下重新打包就好了。
    解决方案看这篇文章:java: 无法访问org.springframework.boot.SpringApplication解决办法

  • 小注意
    一般在使用nohup之前先用java -jar运行一下jar包,看一下可以正常运行吗,如果不可以记得修改一下代码,java -jar虽然是java原生的运行jar包的方式,但是他只能够在命令框开启的时候运行,关闭了就停止了。

5. 检查应用状态

使用 ps 命令检查Java进程是否正在运行:

ps aux | grep spring-petclinic.jar

相关文章
|
1天前
|
Java Maven
Maven 构建 Java 项目
使用 Maven 的 archetype:generate 命令创建 Java 项目,如 `mvn archetype:generate` -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false,在 C:\MVN 下生成基于 maven 的 consumerBanking 项目。
|
2天前
|
前端开发 JavaScript Java
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
|
5天前
|
Java 关系型数据库 MySQL
【Java Spring开源项目】新蜂(NeeBee)商城项目运行、分析、总结
【Java Spring开源项目】新蜂(NeeBee)商城项目运行、分析、总结
114 4
|
5天前
|
存储 Java Maven
Maven 构建 Java 项目
使用 Maven 的 `maven-archetype-quickstart` 插件在 `C:\MVN` 创建 Java 应用项目 `consumerBanking`,命令行参数包括 `-DgroupId`, `-DartifactId` 和 `-DarchetypeArtifactId`。项目包含 src/main/java 和 src/test/java 目录,分别存放 Java 代码和测试代码,以及 src/main/resources 用于存储资源文件。默认生成的 `App.java` 和 `AppTest.java` 分别为应用主类和测试类。
|
5天前
|
移动开发 前端开发 Java
STS里的java 工程项目名称修改和目录设置成源代码
STS里的java 工程项目名称修改和目录设置成源代码
|
5天前
|
JavaScript 前端开发 Java
java项目的打包将vue放到.jar里面部署
java项目的打包将vue放到.jar里面部署
|
5天前
|
缓存 安全 前端开发
来聊聊Java项目分层规范
本文讨论了Java项目的分层规范,强调了分层的重要性以避免代码不易扩展和职责边界模糊。作者分享了阿里提出的六层分层模型(开放接口层、终端显示层、Web层、Service层、Manager层、Mapper层)以及对应的领域模型(DO、DTO、VO、query)。同时,提出了简化版的分层规约,以提高开发效率。作者是CSDN Java博客专家,维护者之一的Java Guide项目,并提供了个人项目结构示例。文章鼓励读者关注其公众号以获取更多交流机会。
30 4
|
5天前
|
Java
springboot项目出现Exception in thread “main“ java.lang.NoClassDefFoundError: javax/servlet/Filter
springboot项目出现Exception in thread “main“ java.lang.NoClassDefFoundError: javax/servlet/Filter
17 0
|
5天前
|
消息中间件 缓存 Java
java基于云部署的SaaS医院云HIS系统源码 心理CT、B超 lis、电子病历
云HIS系统是一款满足基层医院各类业务需要的健康云产品。该产品能帮助基层医院完成日常各类业务,提供病患预约挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生工作站和护士工作站等一系列常规功能,还能与公卫、PACS等各类外部系统融合,实现多层机构之间的融合管理。
46 12
|
5天前
|
Java Maven
Maven 构建 Java 项目
使用Maven的`maven-archetype-quickstart`插件在C:\MVN下创建Java应用,命令包括`groupId`, `artifactId`, 和 `archetypeArtifactId`参数。生成的项目包含src/main/java和src/test/java目录,分别用于存放源代码和测试代码,还有src/main/resources用于资源文件。默认提供App.java主类和AppTest.java测试类。按照预设结构组织文件,Maven将自动管理构建过程。