Web applications 使用Tomcat的应用程序安装程序

Web applications 使用Tomcat的应用程序安装程序,web-applications,tomcat,installation,Web Applications,Tomcat,Installation,我有一个使用HSQLDB嵌入式数据库的简单Java web应用程序。应用程序打包为一个简单的war文件。部分要求是开发应用程序安装程序,该安装程序将: 安装TOMCAT 解决端口冲突(如果有) 部署战争 创建启动服务并启动浏览器的快捷方式 我还需要在MAC和Windows上都这样做,关于如何实现这一点有什么想法吗?这个问题对我来说很简单。解决方案: 不要依赖于有/没有JRE的目标系统。将兼容的JRE打包到应用程序安装程序中,并强制安装(我遇到了兼容性问题) 在安装程序中,您应该有数据库应用程序的

我有一个使用HSQLDB嵌入式数据库的简单Java web应用程序。应用程序打包为一个简单的war文件。部分要求是开发应用程序安装程序,该安装程序将:

  • 安装TOMCAT
  • 解决端口冲突(如果有)
  • 部署战争
  • 创建启动服务并启动浏览器的快捷方式

  • 我还需要在MAC和Windows上都这样做,关于如何实现这一点有什么想法吗?

    这个问题对我来说很简单。解决方案:

  • 不要依赖于有/没有JRE的目标系统。将兼容的JRE打包到应用程序安装程序中,并强制安装(我遇到了兼容性问题)

  • 在安装程序中,您应该有数据库应用程序的安装程序(如果需要)、JRE文件夹和tomcat文件夹以及war文件。只需将这些东西压缩/压缩在一起,并在安装过程中解压/解压即可

  • CATALINA\u HOME
    变量作为系统变量设置到tomcat文件夹中

  • 设置
    JRE\u HOME
    并将
    PATH
    附加到
    JRE
    文件夹和
    JRE/bin
    文件夹中 分别在启动tomcat的同一会话中。这迫使tomcat 选择您的JRE版本,并且不干扰在其上运行的任何其他应用程序 JVM


  • 如何确保默认的tomcat端口8080没有在客户端机器上使用?除了询问客户端希望使用什么端口号之外,还有什么方法可以使此reather自动化,因为有些客户端根本不具备技术性。@Maro您可以尝试连接到端口8080,或者反过来连接到端口8080来监听端口。在前一种情况下,如果连接失败,端口是空闲的;如果连接成功,另一个应用程序将使用它。在后一种情况下,您将得到“地址已在使用”错误,这意味着该端口被其他端口使用;否则它是免费的。无论如何,为用户提供自定义端口的方法看起来是个不错的选择。我真的看不出这个问题的答案。答案告诉你什么而不是如何。。。