2013-06-12 32 views
2

我一直在使用Apache服务器和MySQL数据库开发的Struts2的项目。如何使一个Struts2的项目可执行应用程序

是它可能使此应用程序executable应用程序,这样我就不需要单独给JDK,Apache和MySQL用户。安装程序可以安装所有这3个本身。

也可我有这样的,这样只有一个用户可以使用该应用程序。请告诉。

+0

使用虚拟机,制作快照,发出快照。用户唯一需要的软件就是虚拟化软件(例如VMWare Player免费)。 –

+0

@gauravishere这意味着你应该安装你需要的应用程序,MySQL和其他所有软件并分发快照。希望你明白这一点。这能解决你的问题吗? –

回答

3

通常Web应用程序有一个中央服务器(至少有:Java虚拟机,Web服务器/应用服务器,数据库,Web应用程序contanining Java代码),和所有客户端计算机使用其浏览器连接到它。

该类型的应用程序,这似乎从你的描述出现是monolitic一个,像在Swing或Visual Basic做了一个GUI应用程序;你将它安装在客户端中,每个组件都有一个副本。如果你安装了它的20倍,你将有20个数据库,文件20份,等等 即使在客户端 - 服务器应用程序,与集中式数据库和分布式代码,问题总是与客户相关的;你不知道系统是否自动安装了数据库,JDK等......已经有了该软件,可能是其他版本,或者环境变量混乱等等。当你需要更新软件时,或者要调整系统,您需要实际登录到该电脑,远程或个人。这是导致更喜欢将Web应用程序选择到分布式应用程序的原因之一。

如果您需要制作应用程序的“包”,以便由傻瓜用户单击安装(例如,可移植版本的应用程序,让您的PM在远程位置执行某些演示,或者把它交给大老板让他看看),你应该真正评估创建虚拟机的可能性。

虚拟机是一个大文件(在硬盘上,或通过USB密钥等读取),一旦由虚拟化软件(通常是与创建虚拟机相同的软件)安装,将运行您的客户操作系统窗口内的全新操作系统。

领先的软件做,这是VMWarethe Player是免费的,跨平台的),或者你可以使用VirtualBox

然后,你需要

  • 下载的VMware Player
  • 下载您喜欢的Linux发行版的ISO(我希望你不使用Windows作为服务器)
  • 创建,比方说, 10GB的分区为你的Linux发行版和VMWare播放器,并且安装它
  • 用类似ISO插件ISO(免费版)Daemon Tools
  • 安装Linux发行版
  • 安装并配置您需要的所有软件(Apache,MySQL,您最喜欢的浏览器等; JVM通常已经存在)
  • 安装Web应用程序

然后,你将有一个完整的Linux操作系统的物理文件里,所有已经调整好所需的软件:仅此文件分发到在Windows,Mac或Linux用户,他们只需要安装VMWare Player就可以在Linux操作系统中运行您的文件并访问您的应用程序(它们的副本)。

+0

谢谢你的回复安德烈。但是,如您所说,这将使其成为一项非常繁忙的任务,需要交付一个非常大的文件。没有任何软的方法来做到这一点。如果我单独提供Apache,MySQL和应用程序是否可行/很好。如果是,那么我的应用程序将如何(以什么格式,例如WAR/JAR/EXE)交付。 –

+0

也告诉我如何防止用户进一步分发我的应用程序的副本。 –

+0

你不能,如果你给他们的源代码(.class可以反编译;)。然后,您应该真正使用服务器上的所有内容,并将其打开到浏览器中:进行VPN访问,因此没有人会窃取您的任何内容,并且您将在需要时通过按需授予IP来对访问者进行白名单。 –

相关问题