我有一个.war
格式的文件
是否可以将其转换为.exe
或.jar
文件?
答案 0 :(得分:17)
首先 为什么你需要这样做?
正如wiki所述:
war文件是用于的JAR文件 分发JavaServer的集合 页面,servlet,Java类,XML 文件,标记库和静态Web 页面(HTML和相关文件) 共同构成一个Web应用程序。
war文件是您可以在服务器上运行的应用程序。如你所说,你正在使用tomcat,你只需要将war文件放在tomcat的webapps文件夹中。并启动tomcat服务器。完成。您的项目将成功运行。不需要为此构建exe [of war]。
如果您想给客户端设置看起来像设置和设置所有东西来运行您的应用程序然后您可以使用exe制造商软件(如installJammer)并使您的exe包含tomcat与你在webapps的战争。创建tomcat启动文件的快捷方式。所以现在当用户点击快捷方式tomcat时,你的应用程序也将启动,用户也可以在浏览器上访问它。
答案 1 :(得分:2)
war和jar都是ZIP。因此,它们可以轻松转换。
但是,战争通常会存储网络,而广告则包含桌面程序。 因此,将 war 转换为 jar 将无用,因为 war 包含一个网络,< strong>转换后的 jar 还将包含一个网页,因此尝试运行它(作为程序)将导致错误。
如果您希望将网络( war )转换为桌面应用,则不的方式。
请看一下Prism。
答案 2 :(得分:1)
.war文件旨在在Web容器中运行。那么您可能希望将.war文件放在一个中,并从任务调度程序运行Web容器。我之前使用Jetty做了类似的事情(尽管没有使用任务调度程序)。 Jetty本身是一个java程序,所以你只需在Jetty目录中运行java.exe -jar start.jar
即可启动它。
答案 3 :(得分:0)
是的,只需更改后缀即可将战争转换为jar文件。
战争和罐子都有相同的基本格式(它们是ZIP文件),但是战争通常有依赖的jar和描述应用程序的web.xml文件。
Jars and Wars包含Java类文件,需要运行Java引擎。但是,我怀疑有些工具可以打包JRE,轻量级服务器(如果需要)和war / jar文件打包成Windows的单个“exe”文件。
我只是用Google搜索java Windows exe wrappers,发现前四名的搜索结果与你所追求的非常相似。