我试图使用我写的Trigger插件为作业添加参数。这是一个有罪的代码行:
job.addOrReplaceAction(new ParametersAction(new StringParameterValue("repoAction", "testan", "test")));
Maven编译并构建插件非常好。但是,一旦触发器被激活,就会抛出异常:
java.lang.UnsupportedOperationException at java.util.Collections中的$ UnmodifiableCollection.removeAll(Collections.java:1068) 在hudson.model.Actionable.addOrReplaceAction(Actionable.java:206) 在插件包 .GitHubRepoTrigger.run(GitHubRepoTrigger.java:38)
...
我深入研究了Jenkins Actionable类源代码,并注意到addOrReplaceAction()
函数使用了一个调用集合方法List<Action>
的{{1}}集合。当我查看Java关于此函数的文档时,它注意到:
java.lang.UnsupportedOperationException如果此集合不支持removeAll方法
到目前为止,我完全不知道为什么会出现这个问题。詹金斯真的出了什么问题吗?或者我对添加和修改构建参数的理解是错误的吗?