2017-10-14 161 views
0

我想用JBoss(或GlassFish)和JSF 2.0开发一个使用Java EE的SaaS应用程序。虽然最终的应用程序将主要部署在标准的客户端/服务器应用程序中,但出于多种原因,它还需要作为独立应用程序部署在本地计算机上(Linux或Windows)。如何将J2EE客户端/服务器应用程序部署为独立解决方案?

我不想开发我的应用程序(客户端/服务器和独立)的2个版本。除此之外,我还想避免在每台客户端机器上手动设置一个完整的本地服务器来托管应用程序。

因此,我想知道是否有任何解决方案在本地计算机上轻松进行部署(使用单个安装程序或某种容器)Java客户端/服务器应用程序?

回答

2

对于JBoss/Wildfly,我建议您查看Wildfly Swarm。最终它会创建一个.jar文件,该文件可以在命令行上运行,如java -jar myjarfile.jar。您仍然需要弄清楚如何启动它(并且用户需要安装JVM),但不需要安装完整的服务器。你没有提到它,但是有Spring Boot,如果你使用的是Spring,它的功能非常类似。

您的应用程序需要将客户端和服务器端打包成可能是单个.war文件,该文件将打包到可运行.jar文件中。您还需要某种方式向客户端应用程序指出服务器所在的位置 - 它是localhost还是您的标准网站。

你没有提到你是否有任何类型的数据库后端,但这需要类似嵌入式H2或Derby数据库的东西包含在“uberjar”中用作后备存储。

+0

Thx。是的,我确实需要一个数据库。我想过使用标准的MySQL数据库。我是否应该将标准Web应用程序也使用嵌入式数据库? –

+0

我建议H2或Derby的原因是它们都是Java。 MySQL是一个本地可执行文件,这意味着您需要为Linux和Windows分别提供不同的版本。我不相信你可以用Swarm或Spring Boot打包所有这些。除了Docker解决方案之外,您正在进入非常复杂的部署。你真的需要“预置”版吗? – stdunbar

+0

是的,不幸的是,这是客户要求将平台作为SaaS和内部部署解决方案。最初,他希望我们开发2个不同的版本,但它是双重工作...... –

相关问题