如果你开发了一款web软件,然后甲方需要检查,但是甲方电脑上没有任何环境配置,然后你的项目也没有部署在云服务器上,那么怎么样能够让客户能成功运行你的程序呢。

【实现目标】
客户(甲方)机器不需要为你的软件作任何配置准备(特殊情况例外,如操作系统用户权限、开放防火墙端口等)
一体化软件包(最小集);
一键启动,一切启动;
一键停止,一切停止。
留下必要文件,其他无关的、可有可无的文件都不要。

一、制作运行包

1、为软件项目新建一个目录名(通常为项目名称),以下称“主目录”。

2、将jre、MySQL、Tomcat三套目录复制到主目录下,并创建logs目录。

3、将Tomcat/webapps目录下的无关应用程序项目删除。

4、启动MySQL,用root进入MySQL命令行,将无关数据库删除。
1)启动对应的mysqld进程
2)用root用户进入mysql命令行

3)用SHOW DATABASES; 查看所有创建的数据库名称。
4)用DROP DATABASE dbname; 删除不相关的数据库。

5、在logs目录中,创建应用程序日志目录。

6、记事本编辑配置文件db.properties和log4j.properties,修正日志文件输出路径为相对路径,指向软件包中的日志目录。

7、制作“启动.bat”,1预设环境变量、2启动数据库、3启动应用。

8、制作“停止.bat”,1预设环境变量、2停止应用、3停止数据库。

9、附加一份“使用说明”文件,注明软件使用方法:访问网址、初始用户名和密码等,以及其他要注意的事项。

步骤:

:首先tomcat服务器,mysql数据库,jdk放到同一目录下。

mysql直接在已安装的目录复制过来即可,注意:要把msql的data目录的项目数据库也要复制过来,然后可以修改一下mysql的连接端口号(因为防止端口3306被占用,在my.ini修改即可)

jdk也是,不用把整个已安装的jdk复制过来(太大了),只复制jre即可。

tomcat服务器就直接复制即可

复制完后,、制作“启动.bat”,注意这里的名字要和你的路径下的名称一样,


echo off
set JAVA_HOME=.\jre
set CATALINA_HOME=.\apache-tomcat-9.0.37 echo on
echo 正在启动数据库……
echo off
start .\MySQL\bin\mysqld -u root
ping 127.0.0.1echo on
echo 正在启动应用程序……
.\apache-tomcat-9.0.37\bin\startup.bat

然后制作“停止.bat”,注意:这里我的端口号已改成3308


echo off
set JAVA_HOME=.\jre
set CATALINA_HOME=.\apache-tomcat-9.0.37echo on
echo 正在停止应用程序……
echo off
start .\apache-tomcat-9.0.37\bin\shutdown.bat
ping 127.0.0.1echo on
echo 正在停止数据库……
echo off
.\MySQL\bin\mysqladmin shutdown --port 3308 -uroot -ppassword
ping 127.0.0.1echo on
echo 停止完毕……

二、验证运行包(此步骤可不用,因为这样还要还原配置,所以只要直接在电脑上双击“启动.bat”即可,启动后浏览器打开http://127.0.0.1:8080/项目名称  ,然后成功没错后,再把打完包后的文件在别的电脑上运行测试一下即可(确保别的电脑也能运行))

1、删除“我的电脑”系统环境变量中的相关项(删除之前一定要记录下它们的名称和配值),一般为JAVA_HOME、CATALINA_HOME、MYSQL_HOME等,以及PATH中的相关项,一般为java、tomcat、mysql的bin目录。(这步是为了验证用户机器的零配置环境,待软件运行包成功运行与停止之后,再还原回去)

2、停止系统当前正在运行中的有关进程,以防出现端口号冲突,一般为tomcat、mysql服务。

3、执行“启动.bat”,观察启动过程是否正常,包括数据库和应用程序,以及日志目录中是否有生成相关文件。

4、进入软件运行界面,作一些常规操作,验证软件的可用性。

5、执行“停止.bat”,观察数据库和应用程序是否已经真正从进程列表中退出。

三、还原“我的电脑”系统环境变量。

四、用户机验证,将主目录打包,另找一台机解包,然后验证软件包的可用性,如果一切正常,则软件运行包制作成功。

五、后期的软件更新,一般涉及到两部分:一是数据库脚本,通过CMD窗口进入MYSQL命令行执行更新;二是程序文件更新,更新覆盖Tomcat/webapps/项目目录中的相关文件。

JavaWeb软件运行包制作相关推荐

  1. 什么是绿色软件,如何制作绿色软件(转载)- -

    什么是绿色软件,如何制作绿色软件(转载)- - 关于绿色软件的一篇强文,作者太能写了,呵呵 绿色软件的定义和分类 安装完操作系统后,我们一般需要安装一些常用的软件,但是随着我们常用软件的增多,这个安装 ...

  2. 打独立运行包遇到无法trim咋解决

    背景介绍 工作中我用到kotlin写代码,在orm上ktorm是一款非常优秀的操作db的框架,我喜欢用它所以我写了一个插件能够增加我的工作效率,这款idea插件的主体逻辑是.net开发的(没错是跨平台 ...

  3. python制作词典软件_AlphaDict: 它是一个轻量级的开放词典格式的开源词典软件,你可以制作自己的词典, 也是一个跨平台的软件支持 linux, unix and windows....

    关于 "阿尔法词典" =============== 版本号: 1.4.1 作者: 李力琼 (joni lee) 网站: prajna.top 它是一个轻量级的开放词典格式的开源 ...

  4. 超详细的软件安装包制作打包流程(C/S客户端)

    C/S客户端开发完成,需要将程序交付给用户,直接压缩发给用户是可以的(只是有点不专业),如果能有一个比较好看的安装界面,那档次就不一样了. 本文介绍怎么使用Adanced Installer 17.9 ...

  5. 在条码软件中如何制作ISBT-128条码

    最近有用户向我们咨询,他们需要生成ISBT-128条码,但是在我们的条码软件中没有找到这种类型的条形码.其实ISBT-128不是一种真正意义上的条码类型,而是采用(但又不限于)Code128B类型的条 ...

  6. 《信息化项目软件运维费用测算规范》等两项北京地标正式报批

    北京市地方标准<信息化项目软件运维费用测算规范>和<信息技术软件项目测量元>日前正式完成报批稿并正式提交报批.预计将于2017年6.7月份正式发布,敬请关注.此两项标准于201 ...

  7. Keil运行密钥(pojie)软件运行时,exe程序无法运行/被删除/防火墙警告的解决方法

    Keil运行破//解软件运行时,exe程序无法运行/被删除/防火墙警告的解决方法 1.不要解压安装包,直接在压缩包里双击exe运行程序 这时解压软件报错弹出威胁防护警告(如果你解压后再运行exe,安全 ...

  8. unity 运行包无法连接SteamVR问题

    1.启动unity打的运行包,可以启动SteamVR(版本:1.10.32) ,但是始终显示如下默认画面 2.导致这个的原因之一:有可能 是 steamVR 版本 太低(版本:1.24.7) 3.对比 ...

  9. 用什么软件可以快速制作微信视频

    在众多社交软件中,微信可谓是发展迅速,拢获了大量的粉丝.上到6旬老人,下到上学的小学生,无不在使用微信.大热的语音功能,不仅没有方便了不太会打字的老人,也方便了一群懒癌重度的年轻人群. 但仅仅有这个便 ...

最新文章

  1. b-blkid查看磁盘设备文件系统类型
  2. Ubuntu 安装 redmine
  3. Nim游戏的一个扩展——51nod 1661 黑板上的游戏+LA 5059 Playing With Stones
  4. readonly的用法
  5. spring中用到哪些设计模式
  6. IOC容器(底层原理解读)
  7. flex与JavaScript的数据交互
  8. AFNetworking/AFNetworking
  9. pytorch 优化器调参
  10. html列表隐藏显示出来,JavaScript栏目列表隐藏/显示简单实现
  11. CC2541蓝牙模块间通信设置 蓝牙透传 蓝牙通信程序
  12. python直方图规定化_OpenCV python 彩色图像的直方图规定化
  13. android商品标签,TextView首行缩进效果(商品标签)
  14. Manjaro安装与基本配置
  15. Matplotlib颜色对照表
  16. linux内存管理笔记(三十四)----匿名映射
  17. 白帽子讲Web安全学习之浏览器
  18. 爬取正方教务系统完成成绩查询
  19. java产品经理_产品经理必懂的技术那点事儿:成为全栈产品经理
  20. SHH 工具 隧道窗格

热门文章

  1. CMD命令提示符窗口中的快捷键、小技巧和常用命令
  2. INSA:美国须发展网络空间情报系统
  3. c#实现日历_GUI
  4. [转]MP4文件格式的解析及分割算法
  5. 视频教程-ThinkPHP5实现QQ快捷登录初级入门-PHP
  6. 转 __IO定义的作用
  7. Anaconda3的安装教程(自用)
  8. 前端和后端哪个工资高?工作内容和晋升空间差别大吗?
  9. c语言编程练习题:7-207 机工士姆斯塔迪奥
  10. 新手学Python一定很疑惑自学Python入门要买什么书容易上手?