阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何在Linux终端中创建和执行.Jar文件

1次阅读
没有评论

共计 1543 个字符,预计需要花费 4 分钟才能阅读完成。

导读 在本文中,我们将展示如何创建 Java 应用程序并将其捆绑到 JAR 文件中,并演示如何从 Linux 终端执行.jar 文件。

JARJava ARchive)是与平台无关的文件格式,用于将许多 Java 类文件以及关联的元数据和资源(如文本,图像等)聚合到单个文件中进行分发。

如何在 Linux 终端中创建和执行.Jar 文件

它允许 Java 运行时在一个存档文件中有效地部署整个应用程序,并提供许多好处,例如安全性,可以压缩其元素,缩短下载时间,允许封装和版本控制,支持可移植性。它还支持扩展包装。

在本文中,我们将展示如何创建一个简单的 Java 应用程序并将其捆绑到一个 JAR 文件中,并演示如何从 Linux 终端执行.jar 文件。

为此,必须安装 java 命令行工具来启动 Java 应用程序,并使用 -jar 标志执行封装在 JAR 文件中的程序。使用此标志时,指定的 JAR 文件是所有用户类的源,并忽略其他类路径设置。

如何在 Linux 中创建 JAR 文件

1.首先,为一个名为 HowtoingApp 的应用程序编写一个带有 main 方法的简单 Java 类,用于演示目的。

$ vim HowtoingApp.java

将以下代码复制并粘贴到 HowtoingApp.java 文件中。

public class HowtoingApp {
public static void main(String[] args){
System.out.println("Just executed HowtoingApp!");
}
}

保存文件并关闭它。

2.接下来,我们需要使用 javac 和 jar 实用程序将类编译并打包到 JAR 文件中,如图所示。

$ javac -d . HowtoingApp.java
$ ls
$ jar cvf howtoingapp.jar HowtoingApp.class
$ ls

3.创建 howtoingapp.jar 后,现在可以使用 java 命令执行该文件,如图所示。

$ java -jar howtoingapp.jar
no main manifest attribute, in howtoingapp.jar

从上面命令的输出,我们遇到了一个错误。JVM(Java 虚拟机)无法找到我们的主 清单属性,因此无法找到包含 main 方法的主类(public static void main(String [] args))。

JAR文件应该有一个清单,其中包含 Main-Class 形式的一行:classname,它定义了带有 main 方法的类,该方法用作应用程序的起点。

4.要解决上述错误,我们需要更新 JAR 文件以包含 清单属性 和代码。让我们创建一个 MANIFEST.MF 文件。

$ vim MANIFEST.MF

将以 下行复制并粘贴到 MANIFEST.MF 文件中。

Main-Class:  HowtoingApp

保存文件,然后 使用以下命令将文件 MANIFEST.MF 添加到howtoingapp.jar

$ jar cvmf MANIFEST.MF howtoingapp.jar HowtoingApp.class

5.最后,当我们再次执行 JAR 文件时,它应该产生预期的结果,如输出中所示。

$ java -jar howtoingapp.jar
Just executed HowtoingApp!

有关更多信息,请参阅 java,javac 和jar 命令手册页。

$ man java
$ man javac
$ man jar

参考:JAR 文件中的打包程序。

就这样!在这篇简短的文章中,我们已经解释了如何创建一个简单的 Java 应用程序并将其捆绑到一个 JAR 文件中,并演示了如何从终端执行 .jar 文件。如果您有任何问题或补充意见要分享,请使用下面的反馈表。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2025-04-02发表,共计1543字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中