shell脚本:将java项目中的java文件编译成class文件

#! /bin/bash
此处应该是项目文件夹所在目录
cur_dir=$(pwd)
echo KaTeX parse error: Expected '}', got '#' at position 37: …ile(){ #̲ 记录项目的根目录所在路径 …cur_dir/ p r o n a m e p r o s r c = pro_name pro_src= pronameprosrc=pro_dir/ids/java/src # 源代码所在根目录
pro_lib=KaTeX parse error: Expected 'EOF', got '#' at position 28: …ui/WEB-INF/lib #̲依赖jar所在目录 …pro_dir/ids/ui/WEB-INF/classes # 编译后class文件存放根目录
# src目录下的所有java文件的名称存入到 项目根目录/src/sources.list文件中 先检查是否存在,如存在先删除
rm -rf $pro_src/sources.list
# $pro_src -name ‘.java’表示在 $pro_src目录下以及子目录下寻找以.java目录结尾的 文件 并存放到source.list临时文件
find $pro_src -name '
.java’ > $pro_src/sources.list
echo “java source file >>>”
cat $pro_src/sources.list
# 构建存放编译好的class文件的基目录,先删除目录
rm -rf $pro_class
mkdir $pro_class
# 将所有的jar文件绝对路径记录下来到lib.list文件中
rm -rf $pro_lib/lib.list
find $pro_lib -name '.jar’ > $pro_lib/lib.list
# 将当前目录.添加进去
cpvar=.:
# 一行一行读取lib.list文件并去每行文件路径最终的文件名 ${line##
/}
while read line
do
echo l i n e c p v a r = line cpvar= linecpvar={cpvar} p r o l i b " / " {pro_lib}"/" prolib"/"{line##*/}":"
echo $cpvar
done < $pro_lib/lib.list

    echo "print cpvar "
    echo $cpvar
    # 删除这个中间文件
    rm -rf $pro_lib/lib.list
    # 截取cpvar最后一个字符:
    # 获取cpvar字符串长度
    length=${#cpvar}-1
    # 取 0 - length 长度的字符串
    cpvar=${cpvar:0:length}
    echo $cpvar
     # 批量编译java文件 
    # 编码:-encoding utf-8
    # 依赖库以冒号:隔开 
    # -sourcepath 参数指定源码目录跟目录, @$pro_src/sources.list 指定源码文件名
    javac -d $pro_class -encoding UTF-8 -cp $cpvar  -g -sourcepath $pro_src @$pro_src/sources.list
    # 删除 sources.list零时文件
    rm -rf $pro_src/sources.list
    #删除存在的jar 若编译过的话
    # rm $qddemo/qddemo.jar   
    cd $pro_class
    jar -cvfm $pro_class/${pro_name}.jar $pro_dir/MANIFEST.MF *
    chmod a+x $pro_class/${pro_name}.jar
    echo "将依赖包从"${pro_lib}"复制到"${pro_class}/lib"目录下. "
    # 将依赖jar包从$pro_lib 目录 复制到 $pro_target/lib目录下
    cp -r  $pro_lib $pro_class/lib

}
compile
exit 0
1
2
2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值