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 即可。我们这里的案例如下:

参考

相关推荐
凌览几秒前
有了 25k Star 的MediaCrawler爬虫库加持,三分钟搞定某红书、某音等平台爬取!
前端·后端·python
万少2 分钟前
2-自然壁纸实战教程-AGC 新建项目
前端·harmonyos
这里有鱼汤12 分钟前
给你的DeepSeek装上实时行情,让他帮你炒股
后端·python·mcp
满分观察网友z14 分钟前
别小看这个滑动条!从性能灾难到用户挚爱的 uni-app Slider 踩坑实录
前端
咖啡啡不加糖14 分钟前
暴力破解漏洞与命令执行漏洞
java·后端·web安全
满分观察网友z16 分钟前
别再裸写<textarea>了!一个“小”功能,我用上了它几乎所有API
前端
风象南17 分钟前
SpringBoot敏感配置项加密与解密实战
java·spring boot·后端
西西木科技丨Shopify开发机构22 分钟前
如何在 Shopify 中建立重定向
前端·html
DKPT27 分钟前
Java享元模式实现方式与应用场景分析
java·笔记·学习·设计模式·享元模式
汪子熙29 分钟前
深入探析 header facets:定位与应用
前端·javascript