我想把工程打到一个安装文件里,在安装的时候要进行以下步骤:
1.把web工程解压到tomcat目录下
2.运行工程中的一个带main方法的类A 对配置文件进行初始化
3.点击完成后运行另一个带main方法的类B 是并为B在桌面上成快捷方式。
什么打包工具可以实现上面的功能啊。

解决方案 »

  1.   

    我的思路: 用eclipse export成一个war包, 你的那个初始化的类在一个servlet中进行调用.
      

  2.   

    打成war包之后,在包中的那个类B就不能运行了,我想在桌面上产生一个B类的快捷方式,双击的时候运行B类。
      

  3.   

    那就把你的B类的功能相关的东西提出来, 形成一个单独的项目, 把这个打成一个jar包...我上面说的意思是, 你B类提供的初始化接口, 你做一个单独的servlet, 这个servlet调用初始化接口, 还可以仿照discuz的做法, 初始化的servlet操作完了之后, 给你的web目录下创建一个文件xxx.lock, 用这个文件记录一些初始化信息, 并且, 在初始化的时候, 判断是否存在这个文件, 存在这个文件就不让再次初始
    化, 防止多次运行初始化文件导致数据丢失..上面说的有点乱了, 下面给你用伪代码说下:
    假设你的B.init()是初始化接口(如果你现在是main方法, 不妨把它抽象出一个静态方法, 让外部可以调用).
    假设你发布了一个Servlet叫InitServlet, 访问接口是/servlet/init
    假设你要用文件名init.lock的文件去记录初始化信息和锁定初始化那么, 在你的InitServlet中的doGet()或doPost()中就可以这样做了:第一步: 如果你的初始化操作需要准备工作, 做一些准备工作.
    第二步: 调用你的B.init()进行初始化
    第三步: 判断你的初始化操作成功
    第四步:
      分支1: (初始化成功), 在程序某个目录下创建init.lock文件, 将初始化信息写入到该文件中
      分支2: (初始化失败), 在日志中记录初始化失败信息
    第五步: 根据初始化是否成功, 在用户界面提示初始化成功或初始化失败(更人性化一点, 告诉用户进入首页请点击xxxxxx)
      

  4.   

    首先谢谢你的解答,说的很详细,可是我的B类是在tomcat服务器还没有启动的时候就要运行的一个后台管理的swing程序。不是web程序。我想的是在安装我的工程的包的时候就能运行A,最后点击完成的时候运行B,这个时候tomcat还没有启动,所以不能用servlet了。
    有没有一种工具把tomcat下的web工程(文件夹格式的,不是war格式的)打包成安装文件。
    1.双击安装的时候用户选择tomcat目录
    2.下一步,把web工程解压到webapps下(文件夹格式)
    3.下一步,运行解压完的工程下的一个类A对配置文件进行初始化
    3.下一步,完成,运行类B,这个类是后台管理的一个Swing类。
    有没有什么工具能够实现上面的要求?
      

  5.   

    可以, 但是可能会比较复杂的....
    你可以看看InstallAnywhere, 我们以前一个项目用过, 但是是别人做安装包, 具体用法我不会.