我正在使用GWT作为前端的企业应用程序。我有多个模块,并希望将每个单独的模块创建为单独的war文件,当在同一个Web服务器中部署时,它将像单个webapp一样执行,这样用户就不需要更改URL来访问每个模块。
希望问题很清楚,任何人都可以指导我。
答案 0 :(得分:2)
我在Github上创建了演示项目,其中介绍了面向开发插件的系统的工作方法:https://github.com/domax/gwt-dynamic-plugins
请随时向我询问有关此方法的更多信息 - 您的兴趣将刺激我继续努力;]。
答案 1 :(得分:1)
最简单的解决方案是将多个模块编译为单独的gwt应用程序,然后将它们打包在同一个战争中。
在您的部署战中,您最终将使用multiapp.war
战争的布局是 -
webapps
-> multiapp
--> module1gwtapp/
--> module2gwtapp/
--> module3gwtapp/
--> styles/images
--> styles/css
--> WEB-INF/web.xml
--> WEB-INF/lib
--> WEB-INF/classes
答案 2 :(得分:0)
就我与GWT合作而言,这是不可能的(我可能是错的)。一个webApp只能有一个war文件。
然而,您可以合并模块的数量,以便它可以包含在单个模块中。您甚至可以为同一个包提供多个入口点,但每个应用程序只能有一个war。
如果您需要多个.war
文件,请将项目分成多个项目并单独构建,并希望它不会中断。
答案 3 :(得分:0)
根据您的应用,您有不同的可能性。
如果您的每个应用都需要自己的服务器端服务,则必须独立部署每个.war,然后您可以使用像apache这样的Web服务器作为前端,使用重写和http-proxy链接所有应用程序在这种情况下,您可以将应用程序放在不同的服务器中,甚至可以配置群集和平衡。
如果您的应用只是客户端的东西,您可以解压缩所有战争(使用jar或解压缩命令)并将所有静态文件放在任何地方:在Web服务器中,甚至在唯一的.war中。
您还可以使用maven加入最终.war中的所有模块。基本过程应该是使用maven-dependency-plugin的unpack-dependencies目标创建一个新模块来加入所有其他模块,然后你可以编译所有gwt模块,配置相应的gwt-maven插件。