一个罐(Java档案)是独立于平台的文件格式,用于将许多 Java 类文件以及相关元数据和资源(例如文本、图像等)聚合到单个文件中以供分发。
它允许 Java 运行时在一个存档文件中有效地部署整个应用程序,并提供许多好处,例如安全性、其元素可以压缩、缩短下载时间、允许包密封和版本控制、支持可移植性。它还支持扩展打包。
在本文中,我们将展示如何创建一个简单的 Java 应用程序并将其捆绑到一个罐文件,并演示如何执行.jar来自 Linux 终端的文件。
为此,您必须具备启动 Java 应用程序,以及-jar标志来执行封装在罐文件。使用此标志时,指定的 JAR 文件是所有用户类的源,并且其他类路径设置将被忽略。
如何在 Linux 中创建 JAR 文件
1.首先,编写一个简单的 Java 类,其中包含一个名为的应用程序的 main 方法DocmintApp,用于演示目的。
$ vim TecmintApp.java
将以下代码复制并粘贴到HowtoingApp.java文件。
public class TecmintApp {
public static void main(String[] args){
System.out.println(" Just executed TecmintApp! ");
}
}
保存文件并关闭它。
2.接下来,我们需要编译该类并将其打包成罐文件使用javac和罐实用程序如图所示。
$ javac -d . TecmintApp.java $ ls $ jar cvf tecmintapp.jar TecmintApp.class $ ls
3.一次howtoingapp.jar创建后,现在您可以使用执行该文件爪哇命令如图所示。
$ java -jar tecmintapp.jar no main manifest attribute, in tecmintapp.jar
从上面命令的输出来看,我们遇到了一个错误。这虚拟机(Java虚拟机)找不到我们的主要显性属性,因此它无法找到包含 main 方法的主类 (public static void main(String
主类:类名参数))。这罐文件应该有一个清单,其中包含以下形式的行
它定义了带有 main 方法的类,该方法作为我们应用程序的起点。清单.MF4.要修复上述错误,我们需要更新罐文件包含一个显性属性和我们的代码一起。让我们创建一个
$ vim MANIFEST.MF
清单.MF文件。将以下行复制并粘贴到
Main-Class: TecmintApp
howtoingapp.jar文件。保存文件并添加文件清单.MF给我们的
$ jar cvmf MANIFEST.MF tecmintapp.jar TecmintApp.class
使用以下命令。罐5.最后,当我们执行
$ java -jar tecmintapp.jar Just executed TecmintApp!
罐再次文件,它应该产生输出中所示的预期结果。欲了解更多信息,请参阅爪哇,javac和
$ man java $ man javac $ man jar
命令手册页。将程序打包为 JAR 文件参考:
。罐。就这样!在这篇短文中,我们解释了如何创建一个简单的 Java 应用程序并将其捆绑到 JAR 文件中,并演示了如何执行
