我最近遇到的问题是,我通过葡萄加载的Java库显然被Jira插件(Which Jersey version runs in Jenkins 2.107.1?)的依赖项隐藏了。 https://issues.jenkins-ci.org/browse/JENKINS-44378中也记录了这种冲突的可能性。
这让我想知道:如果我的管道和Jenkins插件存在于同一个JVM中而没有任何分离,我永远不会知道将使用哪个版本的特定jar /类,并且很难稳定地运行管道。
我只能想到两个解决方案:
我不通过grape加载外部库,但是将一些功能放入我从管道调用的REST服务中。
我以某种方式告诉Jenkins在分离中运行我的管道(单独的JVM,单独的类加载器等)
我更愿意(2),但我不知道如何实现它。有什么建议吗?