日期:2014-05-16  浏览次数:20686 次

在linux和windows下动态设置classpath调用java类方法[绝对实用]

在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