TL; DR:我们如何实现我们的代码实际使用?
解决方法
理论上,您可以使用.class文件压缩原始目录结构,并提供为用户运行java命令的shell脚本/指令.我不建议这样做,因为它是一种不专业的,需要你为每个要运行程序的操作系统维护一个shell脚本.
Jar files用于打包库,但您也可以在其中显示一个清单文件,它说:“当有人双击/执行此操作时,运行此类”.该类可以启动GUI或作为响应参数等的无头任务.
你可以有applets,就像你说的.这些程序在用户的浏览器中运行.
您可以使用war file,这是一种打包Web应用程序的方法.您将其提供给Web服务器,它知道如何部署它,以便您可以访问网页. Web服务器/容器的示例是tomcat或jetty.
你可以有一个ear file,它可以包含其中的其他战争文件.这用于需要javaee功能的其他部分(ejbs,jms队列等)的应用程序.应用服务器的一个例子是jboss或glassfish.
还有java web start个应用程序.这些是通过访问网页可以运行的应用程序,但是它们会下载到您的计算机上并在用户的计算机上运行(而不是在服务器的后端,如在战争/耳朵中).
还有javafx.我不知道什么. By skimming the FAQ,它似乎是Java对Adobe’s Flex的答案.您可以使用xml配置配置UI组件.我不知道JavaFX应用程序使用什么格式,但它确实说:“在桌面或浏览器中部署”.
由于Sotirios Delimanolis在下面的评论中提到,您可以使用构建系统(如Ant或Maven)构建这些文件.您还可以使用java / javaee sdk附带的工具“手动”构建它们.例如,如果您安装了sdk,那么您的路径中应该有一个jar命令.以下是这些构建系统的一些细节:
> Maven
>高级(你告诉它要构建什么,不是如何构建它)
>不仅仅是构建系统.还有依赖管理等
>意见(它使用约定超过配置,每个配置文件生成1个工件等)
蚂蚁
>低级(你告诉它如何构建东西)
>灵活
>配置文件可以做任何你想要的,构建尽可能多的工件,你想要的
>容易学习
> SDK工具
>始终保持最新. EG:很少,maven / ant可能无法设置配置选项难以记住命令>非常低的水平>本身不可重复(EG:除非你构建一个脚本,你必须每次都自己键入jar命令)