首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >java jar 包发布

java jar 包发布

作者头像
Jimmy_is_jimmy
发布2023-10-16 20:04:36
发布2023-10-16 20:04:36
6230
举报
文章被收录于专栏:call_me_Rcall_me_R

本文,我们来谈谈,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

可运行代码

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

代码语言:javascript
复制
@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 命令来实现:

代码语言:javascript
复制
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 即可。我们这里的案例如下:

参考

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 可运行代码
  • 打包为 JAR 文件
  • 运行 jar 包
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档