今天因为一个验证工具的易用性问题进行了讨论,决定把这些Java程序制作成可以使用的工具分别在window和Linux系统运行,方便测试人员对问题进行验证。
首先完成的是window系统下的编译和运行,直接使用javac编译脚本进行简单的编译,接这制作了运行脚本,方便运行使用。
window下的编译:
javac -cp "libs/*" MyTool.java
上述脚本可以方便的进行编译。
window下的运行:
@echo off
set CLASSPATH=%JAVA_HOME%\lib\tools.jar
set CLASSPATH=%CLASSPATH%;%libs\XXX.jar
set _EXECJAVA="%JAVA_HOME%\bin\java"
set _JAVA_OPTS=-Xms128m -Xmx256m -XX:PermSize=128M -XX:MaxPermSize=128m
set _MAINCLASS=MyTool
%_EXECJAVA% -classpath "./;%CLASSPATH%" %_MAINCLASS% %1
脚本中最核心的是-classpath参数的第一个数据项".",如果忘记设计或者设置错误,会发生无法找到主类的情况。
Linux下的编译:
javac -cp "libs/*" MyTool.java
上述脚本也是直接进行编译。
Linux下的运行:
#!/bin/sh
JAVA_HOME=/usr/java/jdk1.7.0_55
echo $JAVA_HOME
APP_HOME=.
APP_MAINCLASS=MyTool
CLASSPATH=".:libs/xxx.jar"
echo "classpath="$CLASSPATH
java -classpath $CLASSPATH $APP_MAINCLASS $1
与window系统下的类似,-classpath参数的第一个数据项依然是核心,必须写对,否则提示无法找到主类。
脚本制作完成后,window版本只要提供一个压缩包给使用方,在满足window机器上安装了JVM的条件下,可以正常使用,Linux版本则可以放在服务器上,也可以提供独立的Linux用户进行使用,方便和快捷。