当前位置: 首页 > news >正文

如何部署一个Java项目

如何部署一个Java项目

部署 Java 项目通常需要考虑项目类型(如普通 Java 应用、Spring Boot 应用、Web 应用等)、运行环境和部署策略。以下是常见的 Java 项目部署方法:

1. 普通Java应用(Jar包形式)

适用于控制台应用、服务类应用等,通常通过java -jar命令运行。

部署步骤

  1. 打包项目使用 Maven 或 Gradle 将项目打包为可执行 Jar:

    • Maven:mvn clean package(生成在target/目录)
    • Gradle:gradle clean build(生成在build/libs/目录)
  2. 上传Jar包到服务器通过scp、FTP 或工具(如 Xftp)将 Jar 包传到目标服务器。

  3. 运行Jar包

    # 直接运行(控制台关闭后程序终止)
    java -jar your-project.jar# 后台运行(推荐)
    nohup java -jar your-project.jar > app.log 2>&1 &# 指定JVM参数(如内存设置)
    nohup java -Xms512m -Xmx1024m -jar your-project.jar > app.log 2>&1 &
    
  4. 停止程序

    # 查找进程ID
    ps -ef | grep your-project.jar# 终止进程
    kill -9 进程ID
    `
    

使用idea将项目打成Jar包

在我们没有学习Maven和Gradle之前,我们先来使用idea将项目打成Jar包。

创建项目

首先我们创建一个项目MyProject

创建项目,给项目起名,使用idea,JDK1.8,确定。
在这里插入图片描述
创建完成之后的结构目录如下:
在这里插入图片描述

标准的Java项目目录结构

MyProject/
├── .idea/             # IntelliJ IDEA项目配置
├── out/               # 编译输出目录
├── src/               # 源代码目录
│   ├── main/
│   │   ├── java/      # Java源代码
│   │   └── resources/ # 资源文件
│   └── test/          # 测试代码
├── .gitignore         # Git忽略文件
├── MyProject.iml      # IntelliJ模块文件
└── jar/               # JAR文件目录(如果有)

我们在Main中写入:

public class Main {public static void main(String[] args) {System.out.println("Hello, World!");}
}

在这里插入图片描述

将项目打成jar包

在这里插入图片描述

选择工件,加号,jar,从具有依赖项的模块,选择主类main,确定,更改路径输出到当前目录
在这里插入图片描述
在这里插入图片描述
确定之后,将输出目录选在当前目录,即:删除out之后的内容,包含out
在这里插入图片描述
构建
在这里插入图片描述
完成之后会在当前目录内生成一个jar包。
在这里插入图片描述

部署项目

将此jar包,上传到有java环境的地方,我这准备了一台Ubuntu2024虚拟机,这里为了方便演示,直接安装默认的JDK

sudo apt install default-jdk
java -version
javac -version

在这里插入图片描述
将本地打好的jar包上传到Ubuntu运行

pokes@userver:~$ java -jar MyProject.jar 
Hello, World!

虽然一瞬间就运行完了,但是这个过程我们要会。

http://www.dtcms.com/a/457509.html

相关文章:

  • 联想乐享赋能笔记本选购新体验:智能解析五大系列,精准匹配用户需求
  • 西安网站设计报价怎样创建网站和网页
  • Go中使用反射的动态方法调用
  • 泰安市住房和城乡建设部网站哪个网站diy做宝宝衣服
  • springboot+vue心理咨询服务小程序(源码+文档+调试+基础修改+答疑)
  • 优秀电商网站设计上海网站建设管理系统
  • 速通JavaWeb1
  • 【开题答辩全过程】以 vue基于SSM框架的高考志愿填报辅助系统设计与实现为例,包含答辩的问题和答案
  • linux网站建设论文logo免费设计图案
  • 怎么把网站源码扒下来wordpress缓存方案
  • 整体设计 逻辑系统程序 之17 Source 容器(Docker)承载 C/P/D 三式的完整设计与双闭环验证 之1
  • 汕头网站设计哪家好网页设计图片与文字对齐左对齐
  • GIS PAD平板手机移动端地理信息系统
  • kafka解决了什么问题?mmap 和sendfile
  • 做网站一定要买免费ppt制作
  • c++ 是静态编译语言
  • 寻找哈尔滨网站建设淘宝客网站的建设
  • 打造机器人行业的「安卓」,Meta的野心能否照进现实?
  • GW级智算中心:开启中国AI算力新纪元
  • 怎样做网站镜像做网站的步骤
  • 神经网络:从失宠到复兴的崛起之路
  • 【Python刷力扣hot100】128. Longest Consecutive Sequence
  • 做网站需要的东西台州网络优化
  • 「机器学习笔记6」从二项分布到置信区间:机器学习中假设效果量化的底层逻辑
  • NumPy 广播(Broadcast)
  • 电子商务网站开发是什么合肥瑶海区最新房价
  • ITP平台V4.0.0重磅发布:全新性能测试模块上线,打造一体化测试解决方案
  • 外国人做的网站吗网站建设与推广的步骤
  • 大连建站系统模板娄底网站制作
  • Redis(二)——Redis协议与异步方式