我继承了一个一级 Jenkins 插件。它从 Jenkins hudson
命名空间导入一堆东西。我看到 pom.xml
有
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plugin</artifactId>
<version>1.583</version>
<relativePath />
</parent>
该插件读取文件并调用 API。我希望能够在 jenkins 之外运行该类,这样我就可以在本地修改和测试 API 调用,而不必每次都创建一个新的 hpi
并上传到 Jenkins - 甚至必须退出我的终端。
我有一个 test.java
文件,我想在其中实例化该类并运行一些方法。
从我的终端运行这个:
javac -cp '.:target/what-maven-exported.jar' foo.java && java Foo
我收到一个错误,无法访问Recorder
,因为找不到 hudson.tasks.Recorder 的类文件
。
我的要求完全不可能吗?或者我可以在本地伪造父 POM 吗?我尝试这样做,但很快就迷路了,它会说 jar 是空的。
最佳答案
如 Plugin Tutorial 中所述,您可以使用 hpi:run
maven 目标来启动预安装插件的 Jenkins 实例:
mvn hpi:run
这对我破解插件时非常有帮助。我认为这就是您“本地运行”的实际含义;-)
关于java - 我可以在不使用 Jenkins UI 的情况下运行 jenkins 插件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45804766/