日期:2014-05-16 浏览次数:20845 次
在linux和windows下动态设置classpath调用java类方法
一. windows环境:
采用批处理来实现
包括两个文件:
  1. setCp.bat
  2. start.bat
  setCp.bat文件只有一句话:
set cp=%cp%;%1
  
  start.bat 内容如下:
@echo off
set cp=config
for %%i in (lib\*.jar) do call setCp.bat %%i
set cp=%cp%;
echo %cp%;
java -cp %cp% com.test.Test
pause
部署目录在 D:\mytest
假设目录结构如下:
D:\mytest
mytest
   bin
       setCp.bat
       test.bat 
   lib 
       test.jar
执行: test.bat 即可 调用 com.test.Test的类的方法
二. linux环境:
采用shell脚本来实现
假设shell 脚本文件名为 test.sh
#
WORK_HOME=/opt/mytest
lib='.'
for jar in `ls $WORK_HOME/lib/*.jar`
do
    lib=$lib:$jar
done
export CLASSPATH=$CLASSPATH:$lib
java com.test.Test 1>>$WORK_HOME/logs/test_stdout.log 2>>$WORK_HOME/logs/test_stderr.log &
假设部署目录为/opt/mytest
/opt/mytest
目录下有如下目录结构:
bin
  test.sh
lib
  test.lib
logs
  test_stdout.log
  test_stderr.log
注意: test.sh 需要执行权限
chmod +x  test.sh  即可
进入shell目录,执行 ./test.sh即可 
测试类:
package com.test;
public class Test {
 /**
  * @param args
  */
 public static void main(String[] args) {
System.out.println("hello world!");
}
}
相关资源下载(包括文档和例子) : http://download.csdn.net/detail/5iasp/4785353