作为Java编程领域的新手,这个问题一直困扰着我。我首先相信所有Java文件都会被压缩applets并随后运行,但是我很快意识到情况并非总是如此。有人可以向我解释我们如何将Java应用程序实际上编织到日常生活的真实产品中吗?
applets
TL; DR:我们如何实现实际使用的代码?
这取决于应用程序。有许多选项,取决于您希望用户如何使用您的应用程序。通常将其包装为罐子或专用罐子(战争,耳朵)。
从理论上讲,您可以压缩包含.class文件的原始目录结构,并提供运行脚本java命令的shell脚本/指令。我不建议这样做,因为它有点不专业,并且要求您为要在其上运行程序的每个OS维护一个Shell脚本。
.class
java
Jar文件用于打包库,但您也可以在其中包含一个清单文件,该清单文件显示为:“当某人双击/执行此文件时,运行该类”。该类可以启动GUI或成为响应参数等的无头任务。
您可以像您所说的那样拥有applet。这些程序在用户的浏览器中运行。
您可以拥有war文件,这是打包Web应用程序的一种方法。您将其提供给Web服务器,它知道如何部署它,以便您可以访问Web页面。Web服务器/容器的示例是tomcat或jetty。
您可以拥有一个耳塞文件,其中可以包含其他战争文件。这用于需要Javaee功能的其他部分(ejbs,jms队列等)的应用程序。应用服务器的一个例子是jboss或glassfish。
还有Java Web Start应用程序。这些是可以通过访问网页运行的应用程序,但它们已下载到您的计算机上并在用户的计算机上运行(而不是在服务器的后端,例如在战争/耳中)。
还有javafx。我对此一无所知。 通过浏览FAQ,它似乎是Java对Adobe Flex的回答。您可以使用xml配置来配置UI组件。我不确定JavaFX应用程序使用哪种格式,但是它确实说“在桌面或浏览器中部署”。
正如Sotirios Delimanolis在下面的评论中提到的那样,您可以使用Ant或Maven之类的构建系统来构建这些文件。您还可以使用java / javaee sdk随附的工具“手动”构建它们。例如,jar如果您安装了sdk ,则应在路径中输入命令。以下是这些构建系统的一些详细信息:
jar