【问题标题】:Bundle tomcat/mysql and a webapp to use as a desktop application捆绑 tomcat/mysql 和 webapp 以用作桌面应用程序
【发布时间】:2009-07-13 21:22:22
【问题描述】:

是否有一些开源解决方案可以让您做到这一点。我正在开发一个我想捆绑为桌面应用程序的 web 应用程序。 我见过一些产品是 Web 应用程序但被捆绑为桌面应用程序。是否可以捆绑 JDK/tomcat/mysql 和 webapp 战争文件作为桌面产品发布。请您指出一些可以帮助我做的资源这个。

我正在考虑的一个解决方案是将整个内容捆绑为一个 zip 文件,然后提供一个 install.bat。请提供有关其他方法的更多信息。感谢您的帮助。

【问题讨论】:

    标签: tomcat


    【解决方案1】:

    这并不容易做到,原因如下:

    • 无法使用简单的 zip 文件安装 MySQL 服务器。您需要定期安装程序和用户交互来创建 root 用户。
    • 即使您将 Tomcat 安装在一个目录中,您仍然需要用户交互来设置 JAVA_HOME 或 JRE_HOME 以及可能的 CATALINA_HOME 变量。

    针对你的情况,我建议如下:

    • 使用 HSQLB 代替 MySQL。这更容易配置。
    • 使用Jetty 代替Tomcat。 Jetty 比 Tomcat 更容易嵌入。 Tomcat 可能需要安装程序,而 Jetty 就像启动 Java 应用程序一样简单。

    【讨论】:

    • 再次感谢 kgiannakakis。尽管我仍在使用 Tomcat,但我可以使用 HSQLDB 来做到这一点。
    【解决方案2】:

    寻找 openbdjam 和 liferay,我今天正在测试这两个....

    【讨论】:

      【解决方案3】:

      我认为你最初的直觉对这个很好;将它们捆绑在一个 zip 文件中,然后只提供一个脚本来安装它们听起来是一个不错的解决方案。

      【讨论】:

        【解决方案4】:

        我正在尝试做同样的事情 - tomcat startup.bat 和 catalina.bat 脚本将找到 JAVA_HOME 和 JRE_HOME 变量。我编辑了 catalina.bat 脚本,将 JRE_HOME 变量设置为从 \jre 运行(刚刚复制到一个 jre 文件夹),就可以了。

        hsqldb 和 derby 不需要安装 db(但是我的项目不需要 db - 所以对此没什么好说的)。

        我将 jsmooth 视为安装程序 - 需要检查如何更改几个配置文件中的路径,而无需将 perl 引入混合编辑文件。

        jetty 比 tomcat 轻(除非您尝试嵌入 tomcat;我会加载 tomcat Embedded 来加载,但由于某种原因没有拾取搜索配置文件 - 没有花太多时间)。

        【讨论】:

        • 它可以工作,但不是很稳定。唯一的问题是端口冲突。如果我们在安装脚本之前使用一些工具运行并找出可用端口,然后使用这些端口配置 tomcat,可能问题就会消失。
        • yes - 您可以使用启动批处理(或 perl)脚本检查可用端口并使用可用端口启动(使用 java -D"java.open.port"=XXX -jar ) 顺便说一句,我在嵌入 Tomcat 6.0.18 时遇到了一些问题-(代码在 Tomcat 5.5 上运行良好)任何提示/链接表示赞赏。
        猜你喜欢
        • 2015-04-02
        • 1970-01-01
        • 1970-01-01
        • 2010-10-21
        • 1970-01-01
        • 2018-06-13
        • 2017-06-07
        • 2012-07-01
        • 2020-09-22
        相关资源
        最近更新 更多