【Groovy】Groovy 扩展方法 ( 静态扩展方法配置 | 扩展方法示例 | 编译静态扩展类 | 打包静态扩展类字节码到 jar 包中 | 测试使用 Thread 静态扩展类 )
文章目录
- 一、扩展方法示例
- 二、静态扩展方法配置
- 三、编译静态扩展类
- 四、打包静态扩展类字节码到 jar 包中
- 五、测试使用 Thread 静态扩展类
一、扩展方法示例
为 Thread 扩展 hello 方法 , 在该方法中传入 Closure 参数 , 在该方法中 , 执行传入的闭包参数 ;
class ThreadExt {public static Thread hello(Thread self, Closure closure) {closure()return self}}二、静态扩展方法配置
在 工程根目录\src\main\groovy\ 目录下创建 manifest\META-INF\services 目录 ,
在 工程根目录\src\main\groovy\manifest\META-INF\services 目录下 , 创建 org.codehaus.groovy.runtime.ExtensionModule 配置文件 , 配置如下内容 :
moduleName=groovyExt moduleVersion=1.0 staticExtensionClasses=ThreadExtmoduleName 是模块名称 , 可以配置一个任意字符串标识符 ,
moduleVersion 是模块版本 ,
staticExtensionClasses 用于配置 静态扩展方法 , extensionClasses 用于配置 实例扩展方法 ;
这里配置的是 静态扩展方法 ;
配置完成后的项目结构如下 :
三、编译静态扩展类
在 Terminal 面板中 , 执行
cd src/main/groovy命令 , 进入到 src/main/groovy 目录中 ,
然后执行
groovyc -d classes ThreadExt.groovy命令 , 编译 ThreadExt.groovy 源码到 classes 目录中 ; 其中 ThreadExt.groovy 中定义了 Thread 类的扩展方法 ;
编译过程及结果如下 :
四、打包静态扩展类字节码到 jar 包中
在 执行
jar -cf thread.jar -C classes . -C manifest/ .命令 , 将 classes 中的字节码文件按照 manifest/ 规则 , 打包到 thread.jar 文件中 ;
五、测试使用 Thread 静态扩展类
创建一个 Groovy 脚本 , 执行为 Thread 扩展的静态方法 hello 方法 ;
Thread.hello{printf "Hello" }在 Terminal 面临中 , 使用命令行执行该 Groovy 脚本 ,
groovy -classpath thread.jar ThreadExtApplication.groovy执行结果为 :
Hello 《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读总结
以上是生活随笔为你收集整理的【Groovy】Groovy 扩展方法 ( 静态扩展方法配置 | 扩展方法示例 | 编译静态扩展类 | 打包静态扩展类字节码到 jar 包中 | 测试使用 Thread 静态扩展类 )的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【Groovy】Groovy 扩展方法
- 下一篇: 【Groovy】Groovy 扩展方法