本文主要是介绍apache源码 学以致用 第三课: 跟kafka学习 写classpath脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
系列文章目录
文章目录
- 系列文章目录
- 概要
- 一、Kafka源码学习 kafka-run-class.sh
- 二、在项目中实践
- 总结
概要
跟kafka学习 写classpath脚本
一、Kafka源码学习 kafka-run-class.sh
kafka-run-class.sh入口:
classpath生成:
for file in "$base_dir"/libs/*;
doif should_include_file "$file"; thenCLASSPATH="$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`;
doCLASSPATH="$CLASSPATH":"$file
done
echo $CLASSPATH
java -cp $CLASSPATH:data-gavern-1.0-SNAPSHOT.jar com.xxzh.data.gavern.DataGovern
总结
想做些事情,忘记怎么做,抄作业是个好方法!
这篇关于apache源码 学以致用 第三课: 跟kafka学习 写classpath脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!