Atitit 发帖机系列(6) USRQBN2201 setup spec安装程序的实现规范与标准化解决方案

安装主要解决一个问题,就是resin的内容启动路径以及端口。。这里是使用的端口8077

主要是加载模板配置,然后替换,即可。

遇到的问题主要有主目录路径的提取,截取最后一个反斜杠。。

setup安装.bat

set javaexec="%java_home%\bin\java.exe"

rem a  start explorer z:  WEB-INF\lib

rem check url

set maindir=%~dp0

set maindirV2=%maindir:~0,-1%

%javaexec%  -classpath ".;.\classes;%atiplat_se%\WebRoot\WEB-INF\classes;%atiplat_se%\bin" -Djava.ext.dirs="%~dp0lib;%atiplat_se%\WebRoot\WEB-INF\lib"   -Djava.library.path="%~dp0dll;%atiplat_se%\dll" com.attilax.setup.ResinSetup "%maindirV2%"  8077

Pause

//  com.attilax.setup.ResinSetup

public class ResinSetup {

// d: 8088

public static void main(String[] args) {

String s="d:/resin-4.0.22/conf/resin.xml";

s=filex.convertSseparatorToLocal(s,"/");

//System.out.println(filex.getFileName_noExtName(s));

//System.out.println(File.separator);  //  File.separator=\ in windows

String mainDir=args[0];

String port=args[1];

String resinRoot=mainDir+"/resin-4.0.22";

String cfg_tmpl=resinRoot+"/conf/resin_tmpl.xml";

String txt=filex.read(cfg_tmpl);

String webroot=mainDir+"/AtiPlatf_ee/WebRoot";

txt=txt.replace("@root@", webroot);

txt=txt.replace("@port@", port);

String cfg=resinRoot+"/conf/resin.xml";

cfg=filex.convertSseparatorToLocal(cfg,"/");

String new_file_tmp_bek = filex.addSuffix(cfg, filex.getUUidName());

System.out.println(new_file_tmp_bek);

new File(cfg).renameTo(new File(new_file_tmp_bek ));

filex.save(txt, cfg);

System.out.println("--ok");

}

}

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )

汉字名:艾提拉(艾龙),   EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

Atiend

Atitit 发帖机系列(6) USRQBN2201 setup spec安装程序的实现规范与标准化解决方案的更多相关文章

  1. Atitit   发帖机实现(3 )---usrQBN023 js提交ajax内容到后端规范与标准化

    Atitit   发帖机实现(3 )---usrQBN023 js提交ajax内容到后端规范与标准化 大段内容务必要替换转义换行符号1 提交务必使用utf编码,否则解码后的可能缺失,是web serv ...

  2. Atitit 发帖机系列(8)  词法分析器v5 版本新特性说明)

    Atitit 发帖机系列(8)  词法分析器v5 版本新特性说明) v5  增加对sql单引号的内部支持.可以作为string 结构调整,使用递归法重构循环发..放弃循环发. V4 java dsl词 ...

  3. Atitit 发帖机系列(7) 词法分析的方法attilax大总结)

    Atitit 发帖机系列(7) 词法分析的方法attilax大总结) 1.1. 词法分析貌似俩大方法,一个直接根据状态图转换,一个根据dfa1 1.2. switchcase或者ifelse 最原始方 ...

  4. Atitit 发帖机实现(4 )- usbQBM1601 gui操作标准化规范与解决方案attilax总结

    Atitit 发帖机实现(4 )- usbQBM1601 gui操作标准化规范与解决方案attilax总结 1.1. 根据gui的类型使用不同的gui调用api1 1.2. Script化1 1.3. ...

  5. Atitit 发帖机实现(2)---usrQBN2243 文本解析到对象协议规范

    Atitit 发帖机实现(2)---usrQBN2243 文本解析到对象协议规范 文本内容 ###注释 标题:标题标题标题标题标题1 人数:5 月薪:2000-3000 内容: 内容内容内 容内容内容 ...

  6. Atitit  发帖机实现(1)-----UsrQBm2008 页面上下文规范

    Atitit  发帖机实现(1)-----UsrQBm2008 页面上下文规范 1.1. 网站绝对路径,页面绝对路径1 1.2. Java的javax.servlet.ServletContext1 ...

  7. Inno Setup 在安装程序开始前和卸载程序开始前,检查并关闭运行的进程

    (2011-12-29 11:54:56) 转载▼ 标签: innosetup it 分类: 开发工具经验累积 Inno Setup在安装程序前,如果有使用的进程在运行,会有错误提示,而使得Insta ...

  8. Lenovo Setup(安装程序)

    按住F1,进入“Lenovo Setup”. 一.Main(条目处的设置不可更改) UEFI BIOS Version H1ET69WW(1.12) UEFI BIOS Date(Year-Month ...

  9. [Inno Setup] 退出安装程序的两种方式

    1. 完全静默的退出 procedure ExitProcess(exitCode:integer); external 'ExitProcess@kernel32.dll stdcall'; ... ...

随机推荐

  1. BZOJ2933: [Poi1999]地图

    Description   一个人口统计办公室要绘制一张地图.由于技术的原因只能使用少量的颜色.两个有相同或相近人口的区域在地图应用相同的颜色.例如一种颜色k,则A(k) 是相应的数,则有: 在用颜色 ...

  2. AOP实现原理

    Spring 为解耦而生,其中AOP(面向切面编程)是很浓重的一笔. 本文来探讨一下AOP实现的原理. 一. 概述 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负 ...

  3. 时空地图TimeGIS 可编辑ArcGIS的Shape矢量文件的地理信息系统

    时空地图 TimeGIS 6.0 是一个地理信息系统软件,它可以显示网络地图,编辑ArcGIS的SHP矢量文件格式,显示NETCDF等栅格文件,管理图层等. 在它的基础上,可以二次开发各种GIS应用, ...

  4. spring自动装配

    spring提供了自动装配(autowiring)和自动检测(autodiscovery)用来减少XML的配置数量. 自动装配bean属性 byName——把与Bean的属性具有相同名字(或ID)的其 ...

  5. 用Python写爬虫爬取58同城二手交易数据

    爬了14W数据,存入Mongodb,用Charts库展示统计结果,这里展示一个示意 模块1 获取分类url列表 from bs4 import BeautifulSoup import request ...

  6. 通过navigationController跳转界面时隐藏navigationBar上的元素

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  7. 天气预报API(六):中国气象频道、腾讯天气--“新编码”接口的测试

    说明 本文所有测试均以青岛为例. 本文所列接口城市代码(cityid)参数都使用的 "新编码": 全国城市代码列表(新) 本文接口均不是官方接口,仅供测试使用! 腾讯天气 空气质量 ...

  8. 「2014-4-13」Think twice before starting the adventure

    杂文一篇. 1. 取名字真心是一件特别困难的事情.这位独立开发者花了将近两天的时间,给他的私人项目取了个名字:这篇博客<为何我不鸟你的开源项目>里显然还忽视了一个原因,就是名字取得太烂以至 ...

  9. 学习django之python中os模块的函数

    os.sep可以取代操作系统特定的路径分隔符.windows下为 “\\” os.name字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'pos ...

  10. 用canvas制作酷炫射击游戏--part2

    今天这一部分主要讲游戏的实现原理与游戏循环的代码实现. 先说原理,大家都看过动画吧.在我看来,游戏就是玩家能人为控制动画剧情发展方向的动画.所以,我们的游戏引擎其实说白了就是个动画引擎再加上鼠标事件. ...