首页 > 解决方案 > 如何从 groovy 中当前包的上一层导入 - 详解

问题描述

我有一个与此处描述的问题非常相似的问题: 如何从 groovy 中当前包的上一层导入

我不想将 SharedState 移动到 action/pkg 子目录。我想要做的是保持以下结构:

然后从 TestDataHelper 和 TestDataHelper2 访问 SharedState。

我无论如何都不能使用包来做到这一点,我倾向于理解默认情况下是不可能的。我可以改用类路径恶作剧,但首先需要一些指导。

感谢您的任何反馈。

标签: jenkinsjenkins-job-dsl

解决方案


答案是在构建中的 Jenkins 作业种子作业 - 高级部分中使用额外的类路径。该路径需要与项目的母目录匹配。

/home/user/mother_dir

groovy 脚本可以位于 /home/user/mother_dir 下的任何位置,在我的情况下它位于 /home/user/mother_dir/other_dir/script.groovy

然后,我将要导入的类放在 /home/user/mother_dir/package_dir 的包中。在与作业映射的 groovy 脚本中,我导入 package.* 并可以从 package_dir 访问所有必要的类。


推荐阅读