场景:在重要核心功能改造的时候,通常测试不能覆盖到所有的case,以及所有数据,这个时候当遇到问题后,有可能需要通过程序回滚数据。但是又不想是写一个接口暴露出去,就是想通过java test 这样去启动test类执行回滚逻辑。
执行脚本如下:java -cp 1.jar:2/lib/*:3/* Test
之前网上看介绍说,cp没法用通配符classpath加载目录下所有jar包,但是实际亲测,在jdk1.8环境下是可以使用通配符的。
然后其实还有一种解决方案:java -Djava.ext.dirs=1\lib;22.1.0 -cp 1.jar Test。如果采用这种方式,一定一定要注意,你的程序中是否有用到了extclassLoader 默认会加载的jar包,如有有使用到,那么你的程序很有可能会凉凉,因为这种方式会直接导致EXT加载的内容发生变换,导致找不到默认加载的那些内容。所以建议还是用cp的方式,不使用ext的方式。