本教程是为JDK 8编写的。本页面描述的示例和实践不会利用后续版本中引入的改进,可能使用已不再可用的技术。
请参阅Java语言变更,了解Java SE 9及后续版本中更新的语言特性摘要。
请参阅JDK发行说明,了解所有JDK版本的新功能、增强和已删除或不推荐使用的选项。
现在您已经学会了如何创建JAR文件,那么您如何实际运行打包的代码呢?考虑以下情况:
本节将涵盖前两种情况。教程中关于扩展机制的单独讲解涵盖了使用JAR文件作为扩展的方法。
要从HTML文件中启动任何小程序以在浏览器中运行,您需要使用applet标签。更多信息,请参阅Java小程序教程。如果小程序作为JAR文件打包,您唯一需要做的不同之处就是使用archive参数来指定JAR文件的相对路径。
例如,使用TicTacToe演示小程序。在显示小程序的HTML文件中,applet标签可以这样标记:
<applet code=TicTacToe.class width="120" height="120"> </applet>
如果TicTacToe演示小程序被打包在名为TicTacToe.jar的JAR文件中,您可以通过添加archive参数来修改applet标签:
<applet code=TicTacToe.class archive="TicTacToe.jar" width="120" height="120"> </applet>
archive参数指定了包含TicTacToe.class的JAR文件的相对路径。在本示例中假设JAR文件和HTML文件位于同一个目录中。如果不是这样的话,您必须在archive参数的值中包含JAR文件的相对路径。例如,如果JAR文件在HTML文件的下一级目录中的一个名为applets的目录中,applet标签将如下所示:
<applet code=TicTacToe.class archive="applets/TicTacToe.jar" width="120" height="120"> </applet>
您可以使用Java启动器(java命令)运行JAR打包的应用程序。基本命令如下:
java -jar jar-file
-jar标志告诉启动器应用程序是以JAR文件格式打包的。您只能指定一个JAR文件,该文件必须包含所有应用程序特定的代码。
在执行此命令之前,请确保运行时环境已经知道JAR文件中的哪个类是应用程序的入口点。
要指示哪个类是应用程序的入口点,您必须在JAR文件的清单文件中添加一个Main-Class头。该头的格式如下:
Main-Class: classname
头的值classname是应用程序入口点的类名。
更多信息,请参阅设置应用程序的入口点部分。
当在清单文件中设置Main-Class后,您可以从命令行运行应用程序:
java -jar app.jar
要从位于另一个目录中的JAR文件运行应用程序,您必须指定该目录的路径:java -jar path/app.jar