脚本编译和运行Java程序探索结果

今天因为一个验证工具的易用性问题进行了讨论,决定把这些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用户进行使用,方便和快捷。


猜你喜欢

转载自blog.csdn.net/lightlater/article/details/53560067