系列文章目录
概要
跟kafka学习 写classpath脚本
一、Kafka源码学习 kafka-run-class.sh
kafka-run-class.sh入口:
classpath生成:
for file in "$base_dir"/libs/*;
do
if should_include_file "$file"; then
CLASSPATH="$CLASSPATH":"$file"
fi
done
运行脚本:
exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"
观察上面代码:程序启动前,就注册个钩子,钩子在程序结束时运行。
二、在项目中实践
root@xxzh:~/zzxh/data_govern/monitor-app>ls
ananureports.log data-gavern-1.0-SNAPSHOT.jar lib monitor-app.tar.gz start.sh
现在要运行 data-gavern-1.0-SNAPSHOT.jar 包,但依赖lib ,写一个start.sh 进行启动
脚本内容:
#!/bin/bash
for file in `ls lib/*.jar`;
do
CLASSPATH="$CLASSPATH":"$file
done
echo $CLASSPATH
java -cp $CLASSPATH:data-gavern-1.0-SNAPSHOT.jar com.xxzh.data.gavern.DataGovern
总结
想做些事情,忘记怎么做,抄作业是个好方法!