需求是这样事儿的,公司的JAVA WEB工程(暂定名称A,B,C)想整个无脑的安装过程,就是用下一步下一步这样的操作把程序和数据库以及一些配置文件都安装好。 如果仅仅是解压文件这种操作的话,其实有很多的解决方法做的很专业,比如InstallAnywhere、nsis等等,但是现在需求中还要根据用户的不同情况,在安装过程中修改配置文件,这样的话就有些麻烦了,上面的那些工具对应这种问题好像可以用编程的方法解决,但是我不会啊!!!
说了这么多,最后采取的解决方案是像discuz那样安装,就是专门写个安装的小web工程,用tomcat发布起来,然后用熟悉的java语言来进行一些列的操作。
整个过程分为
- 把工程A,B,C打成war包,然后放到安装工程中,把安装工程打成war包(install.war),这样做的目的就是想让install工程解压A,B,C包。(事先就得准备好)
- 启动tomcat发布安装程序(install.war)。
- tomcat启动之后,自动打开安装页面(http://localhost:端口:/xxxx)
- 在页面上进行一些操作,用户通过下一步下一步这样的操作,进行数据库配置、端口设置以及其他的业务需要的参数设置,最后解压A,B,C到tomcat的webapps中,连接数据库,初始化数据。
- 重启tomcat服务,由于第3步中,A,B,C工程已经解压到了tomcat中,并且数据库数据也导入了,所以tomcat会把A,B,C发布起来,这样整个过程就算是结束了。
- 其他的操作。比如我们公司的业务需要启动一个socket服务。
==============================啰啰嗦嗦的分割线==================================
那么问题就来了,整个的思路其实很简单,就是专门写个安装页面来解压A,B,C到tomcat中,在安装页面上的操作也不算是麻烦,填写一些业务需要的配置,然后都是下一步下一步的操作,但是1-6的步骤中,有几次需要用户点击tomcat或者其他程序的操作,这些就会增大操作难度,跟无脑操作原则相悖,于是就要想办法把 2 3 5 6 这几部操作合成一步,并且最后把tomcat启动的黑窗口去掉,做成个服务。
解决方案我正在做,还没做出来哈哈哈哈,不过我觉得是不是可以从Catalina.bat中入手,修改里面的代码如何