有时我们需要手工命令行的方式运行java程序或编译java项目工程,比如你想用jocky混淆编译java程序,那如何加域外部的jar文件呢?

一种方式是通过-classpath参数加载,将所有的jar包以;间隔的方式依次列到-classpath参数后面,形如:

d:\jdk18\bin\java -Xms100m -Xmx512m -jar jocky.jar  -scramble:public -d class -classpath lib\j2ee.jar;lib\adhoc-jdbc-0.18-beta.jar;... src/*.java

但是如果引用的包很多,上述方式就不方便了,那我们可以用另一种方法:新建一个目录lib,将所用的包全部复制到该目录中,然后通过参数-Djava.ext.dirs指定目录即可,形如:

d:\jdk18\bin\java -Xms100m -Xmx512m -jar jocky.jar  -scramble:public -target 1.5 -d class -Djava.ext.dirs=lib src/*.java

是不是简单多了。