我继承了一个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
无法访问class file for hudson.tasks.Recorder not found
。
我的问题是不可能的?或者我可以在本地伪造父POM吗?我试图这样做,但是快速迷失了,它会说罐子是空的。
答案 0 :(得分:2)
如Plugin Tutorial中所述,您可以使用hpi:run
maven目标在预先安装插件的情况下启动Jenkins实例:
mvn hpi:run
这对黑客攻击插件非常有帮助。我认为这就是你实际意味着&#34;在本地运行&#34; ; - )
答案 1 :(得分:0)
我删除了hudson核心JAR文件,并在我的类路径中解决了编译时问题。
然后我为运行时删除了几个JAR,将它们添加到GuideLine
的类路径中,并且它有效。