java项目打包指定文件

项目中需要把部分包的类打成jar包,供其他系统调用,本来是用eclipse的导出jar包功能导出,但由于包较多,每次都比较麻烦,于是自己写了个bat脚本,放在这里供日后参考:

 

echo 'create templete folder...'
md classes
echo 'compile Java files...'
start /wait javac -encoding UTF-8 -cp ../lib/javax.persistence.jar;../lib/hibernate-core-4.2.3.Final.jar;../lib/mail.jar;../lib/javax.servlet.jar -d classes/ com/XXX/common/constants/*.java com/XXX/common/constants/*.java
cd classes
echo 'package files...'
start /wait jar -cvf ../threeELearning-SDK-1.0.0.jar .
cd ../
echo 'delete templete files'
rd /q/s classes
pause

 

 先创建一个临时文件夹,然后编译指定目录的java文件,然后切换到临时文件夹里,在执行打包命令。最后在退后到上一级目录,在删除临时文件夹。

1、要切换到临时文件夹里是因为如果不切换的话打的jar包中的目录就包含了这个目录,这不是我们需要的。

2、start /wait 是在等待这一行命令执行完后在执行下一行命令,否则会还没编译完就开始打包了。

3、因为项目的编码是用的UTF-8,所以编译时需要指定编码-encoding UTF-8

4、-cp参数指定编译时需要的jar包,用分号隔开。 -d参数指定编译的class文件存放的位置,最后的参数是指定要编译的java文件,可以用通配符,但是只能在文件名上使用通配符,不允许在目录上使用 ,多个文件用空格隔开

 

其实这些东西都是可以用ant完成的,但我们的项目还没假如ant支持,先临时用这个在说吧,我去研究ant去了。

你可能感兴趣的:(javac,jar JAVA打包,打包指定文件)