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. svn 在linux 下的一些常用命令

    最近在Linux系统下玩一些svn的东西,感觉脑袋很乱, 于是整理了一下一些初学者必须弄明白的基本命令: 1. svn --version: 查看Linux系统下的svn client版本. Clie ...

  2. java线程池初步理解

    多线程基础准备 进程:程序的执行过程,持有资源和线程 线程:是系统中最小的执行单元,同一个进程可以有多个线程,线程共享进程资源 线程交互(同步synchronized):包括互斥和协作,互斥通过对象锁 ...

  3. js获取焦点

    <input type = "text" id="football" /> 对上面获取焦点. 1.获取dom对象 var domFocus = do ...

  4. MyBatis SQL动态装配

    MyBatis的方便在于可以配置动态SQL,通过过滤器进行动态装配.在刚开始使用中,遇到不少问题,其中update语句也需要动态装配,核心在于DAO层要与.xml文件中的语句和变量名要匹配.例如: D ...

  5. R语言中的logical(0)和numeric(0)以及赋值问题

    logical(0) 不等于 numeric(0).两者都不等于NULL值,即is.null(logical(0))和is.null(numeric(0))返还值都是FALSE.这很有意思,说明长度为 ...

  6. git 笔记

    查看某个提交的修改:git show commitID 查看某个提交修改涉及的文件:git show commitID --oneline --name-status 清理掉没有入库的文件,并把修改了 ...

  7. Android最大可运行内存

    int maxMemory = (int) Runtime.getRuntime().maxMemory();

  8. UIView动画

    UIView动画 一.commitAnimations方式使用UIView动画 1.commitAnimations方式使用UIView动画 [UIView beginAnimations:@&quo ...

  9. [CSDN转载]致C语言初学者—指针注意项

    在论坛里经常见到一些新人对指针提出一些问题,作为一个经历过许多错误后的新手,我想把自己的经历说出来,避免让后来人继续这样的错误.    在讲解指针之前,需要理解一下内存空间.内存是随机存取器,计算机上 ...

  10. C# 装箱和拆箱的简单理解

    一.装箱拆箱的意义 主要用途是可以向ArrayList中添加值类型的元素 二.理解 装箱的含义:理解为可以将子类对象隐式的转化为父类对象(保留自己特有的成员,和子类重写的成员) 装箱:例子为典型的装箱 ...