如何从 groovy 中当前包的上一层导入 - 详细说明

How to import from one level above the current package in groovy - elaboration

我遇到的问题与此处描述的问题非常相似:

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

然后从 TestDataHelper 和 TestDataHelper2 获得对 SharedState 的访问权限。

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

感谢任何类型的反馈。

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

/home/user/mother_dir

groovy 脚本可以在 /home/user/mother_dir 下的任何位置,在我的例子中它在 /home/user/mother_dir/other_dir/script.groovy

然后,我将我想要导入的 classes 放入 /home/user/mother_dir/package_dir 的包中。在与作业映射的 groovy 脚本中,我导入了 package.* 并可以从 package_dir.

访问所有必要的 classes