java jar 包发布

本文,我们来谈谈,java 中使用 jar 包来发布应用~

JAR 全称 Java Archive,是一种常见的文件格式,用于存储和分发 Java 程序和库。在 Java 开发中,JAR 文件广泛用于打包和发布应用程序或模块。

Demo 相关环境:

  • Google Chrome 版本 117.0.5938.149(正式版本) (arm64)
  • MacBook Air(M1, 2020)
  • IntelliJ IDEA 2021.2.2

可运行代码

我们简单新建一个应用,并写了一个获取用户的接口:

java 复制代码
@RestController
public class UserController {
  @GetMapping("/user")
  public String getUserList() {
    return "come here";
  }
}

运行项目后,访问 http:localhost:8080/user 即可。

打包为 JAR 文件

我们在 IntelliJ IDEA 中打开项目,在右侧会有一个 Maven 的选项。点击 package 之后,去喝杯咖啡回来,你会看到在项目的 target 目录下,生成了两个文件:

  • *.jar 文件是打包后的可执行 JAR 文件,其中包含了编译后的 Java 代码和项目的依赖库。
  • *.jar.original 文件是 Maven 生成的原始的 JAR 文件,它包含了原始的编译后 Java 代码的 JAR 文件。该文件主要是用于调试和查看项目的源代码,便于开发者在需要进行调试时使用。

我们主要关注 *.jar 文件,它是可以直接使用和分发的可执行文件

运行 jar 包

我们可以直接通过命令行 java -jar your_project.jar 来执行。比如,我们的 Demo 项目:

此时,打开谷歌浏览器,输入地址 http://localhost:8080/user,即可看到效果:

然而,当我们关闭控制台的时候,应用也就中断了。

那么,我们可以不中断程序进程,让其在后台运行的吗?

是的,我们可以使用 nohup 命令来实现:

bash 复制代码
nohup java -jar your-jar-file.jar > output.txt &
  • 启动一个 your-jar-file.jar 文件
  • 将输出重定向到 output.txt 文件
  • & 用于将命令置于后台运行

nohuplinux 系统上生效(感兴趣读者自行尝试)。本文 demomacos 上进行演示,我们可以使用如下的操作:

java -jar your-jar-file.jar & 运行程序,并使用命令 bg 将进程切换后后台运行,最后使用 disown 命令将进程与当前终端分离。

当我们想关闭该进程,可以通过 ps aux | grep java 命令行列出 java 程序,然后找到对应的 PID,进行 kill PID 即可。我们这里的案例如下:

参考

相关推荐
凌览几秒前
Node.js + Python 爬虫界的黄金搭档
前端·javascript·后端
程序新视界3 分钟前
在MySQL中,是否可以使用UUID作为主键?
数据库·后端·mysql
Java 码农6 分钟前
vue 使用vueCli 搭建vue2.x开发环境,并且指定ts 和less
前端·vue.js·less
♡喜欢做梦13 分钟前
Spring MVC 响应处理:页面、数据与状态配置详解
java·javascript·spring·java-ee
计算机学姐16 分钟前
基于SpringBoot的公务员考试管理系统【题库组卷+考试练习】
java·vue.js·spring boot·后端·java-ee·intellij-idea·mybatis
欧阳码农17 分钟前
AI提效这么多,为什么不试试自己开发N个产品呢?
前端·人工智能·后端
chenbin___20 分钟前
Omit<>的用法
开发语言·前端·javascript
嫂子的姐夫20 分钟前
21-webpack介绍
前端·爬虫·webpack·node.js
HahaGiver66623 分钟前
Unity与Android原生交互开发入门篇 - 打开Android的设置
android·java·unity·游戏引擎·android studio
Blossom.11824 分钟前
把AI“贴”进路灯柱:1KB决策树让老旧路灯自己报「灯头松动」
java·人工智能·python·深度学习·算法·决策树·机器学习