JAVA开发者招数之“万里之行始于足下”
来源:互联网 发布:sqlmap tamper mssql 编辑:程序博客网 时间:2024/06/10 08:31
生存运行批处理程序(UNIX版本或者WINDOWS版本)
package com;
import java.io.File;
/**
* 功能:生成java批处理程序
* 现状:很多“高手”都受jar包的困扰,认为写个批处理很容易,但是写出来的bat或者sh屡屡出错,今天老蒋我特花点时间写个类,解决这个问题。
* 描述:根据操作系统类型生成批处理文件内容体
* @author javy21
*
*/
public class LibMainProcess {
public static void main(String[] args) {
LibMainProcess main = new LibMainProcess();
// 是否是WINDOWS操作系统 是windows环境则为true 否则为false
boolean isWin = true;
// jar包的实际存放目录
String libSrcPath = "./lib";
// 实际报文体中的目录路径,可以与libSrcPath不同,要视部署具体路径而定
String libDestPath = "./lib";
// 应用的主类(包含包路径)
String strMainClass = "com.MainProcess";
// 生成批处理文件内容体
String theRunStr = main.getRunStr(isWin, libSrcPath , libDestPath ,strMainClass );
System.out.println("WINDOWS RUN.BAT:/n"+theRunStr);
// UNIX的sh脚本
isWin = false;
// 生成批处理文件内容体
theRunStr = main.getRunStr(isWin, libSrcPath , libDestPath ,strMainClass );
System.out.println("UNIX RUN.SH:/n"+theRunStr);
}
/**
* 功能:生成java批处理程序
* 描述:根据操作系统类型生成批处理文件内容体
* @param isWin Windows操作系统标识:true为WINDOWS否则为UNIX系列
* @param libSrcPath jar包的实际存放目录
* @param libDestPath 实际报文体中的目录路径,可以与libSrcPath不同,要视部署具体路径而定
* @param mainClass 应用的主类(包含包路径)
* @return
*/
public String getRunStr(boolean isWin, String libSrcPath, String libDestPath,
String mainClass) {
String rsstr = "";
StringBuffer contentstr = new StringBuffer("");
File f = new File(libSrcPath);
if (f.exists() && f.isDirectory()) {
File[] files = f.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].exists() && files[i].isFile())
if (isWin) {
contentstr.append(libDestPath + "/" + files[i].getName()
+ ";");
} else {
contentstr.append(libDestPath + "/" + files[i].getName()
+ ":");
}
}
}
if (isWin) {
rsstr += "@echo off/n";
rsstr += "Title " + mainClass + " /n";
rsstr += "java -classpath ./bin;" + contentstr.toString() + " "
+ mainClass + "/n";
rsstr += "@echo on";
} else {
rsstr += "java -classpath ./bin:" + contentstr.toString() + " "
+ mainClass + " > /dev/null &";
}
return rsstr;
}
}
- JAVA开发者招数之“万里之行始于足下”
- 千里之马,始于足下
- 五、万里之行
- 始于足下,望君勉之
- 千里之行,始于足下之:初识Hibernate
- IDF实验室之万里寻踪图片里的秘密
- VC之路始于足下:VC入门经验谈
- 千里之外,始于足下。
- IDF实验室之万里寻踪红与黑
- IDF实验室之万里寻踪上帝也哭泣
- 代码中的智慧之 —— 千里之行 始于足下
- TLD取经之路(3)-- 始于足下
- OOP之基本技能训练-Chapter 1-千里之行,始于足下
- 始于足下--开始学习java
- 微价值:专访个人开发者800万用户之《系统清道夫》
- Java之开发者的十大戒律
- java开发者之Linux常用命令(文件相关)
- 万岛之国
- VPN的topology&net
- 实时时钟的演示:.毫秒级计时输出;串口输出速率:9600bps.中断的使用。
- vc 获取软件的版本信息
- JS计算两个时间相差的分钟数
- 敏捷软件开发之何为敏捷开发
- JAVA开发者招数之“万里之行始于足下”
- 提高程序运行速度 让Ext JS华而又实
- SYN相关。
- 高性能SQLServer通用分页存储过程
- 编码和测试
- ALE
- WORK FLOW
- C# winform dockpanel 容易处理
- USACO Solution Code(2)