Java 将基于Hibernate的J2EE应用程序部署到远程服务器的正确方法
我在这里开发了一个非常可怕的Java应用程序。到目前为止,它只部署在我本地安装的Tomcat/MySQL安装程序上 为完整起见,该应用程序是一个在线游戏服务器,使用Spring、Hibernate编写,MySQL当前位于后端 现在,我可以很容易地将战争打包并在远程服务器上获得它。。问题在于数据库。现在它是用一个ANT脚本生成的,该脚本使用Hibernate(具体地说,HBM2DDL ANT任务)生成模式,然后用静态SQL和两个基于ANT的解析器组合填充数据库,这些解析器从其他数据(主要是XML)中读取数据。之后,我创建了一个完全创建的数据库,其中填充了游戏服务器“启动”数据集 问题是Java有点绿色,我不知道什么是正确的部署方式 我应该:Java 将基于Hibernate的J2EE应用程序部署到远程服务器的正确方法,java,hibernate,spring,deployment,Java,Hibernate,Spring,Deployment,我在这里开发了一个非常可怕的Java应用程序。到目前为止,它只部署在我本地安装的Tomcat/MySQL安装程序上 为完整起见,该应用程序是一个在线游戏服务器,使用Spring、Hibernate编写,MySQL当前位于后端 现在,我可以很容易地将战争打包并在远程服务器上获得它。。问题在于数据库。现在它是用一个ANT脚本生成的,该脚本使用Hibernate(具体地说,HBM2DDL ANT任务)生成模式,然后用静态SQL和两个基于ANT的解析器组合填充数据库,这些解析器从其他数据(主要是XML)
另一个复杂的问题是,WAR将转到不同的服务器,而不是MySQL数据库。是否有一本Java书籍或web资源可以全面解决这些部署问题?您可以使用Hibernate hbm2ddl任务为您创建模式。不过,它不会填充任何参考数据。我经常使用JUnit任务和配置来运行它一次,然后继续运行。我做了类似的事情,创建了ant目标,将ant脚本推送到远程机器,ant脚本有一个目标来生成DB。因为您已经有了生成模式和初始化数据库的ant目标,所以您可以将现有ant脚本推送到远程机器(假设远程机器具有相同的工具集)
您可以使用scpant任务进行远程复制,使用sshexec进行ant和脚本的远程调用。我认为有3个选项:
谢谢你的回答。看起来2号是3个解决方案中最优雅的。