- Views: Groovy/Jelly views are re-compiled every time a browser requests a page, so just reload a page in the browser and you'll see the changes. This is also true for help files you write.
- Java code: If you are debugging, JVM's hot swap feature can be used to reload code so long as you don't do not touch the method signature. (For example, from NetBeans use Debug » Apply Code Changes.) Beyond that, you can hit ENTER in the Maven process and it'll reload the Jenkins webapp, though generally it is better to stop the process and start again. See Developing with JRebel for how to get a JRebel license for OSS projects to improve this experience.
- POM: If you change POM, you'll have to stop and restart Maven to see the changes.
If you are using version 1.120 or later of
maven-hpi-plugin, which would be the default when using version 2.16 or later of the plugin parent POM, you can use the same features to debug changes spanning multiple plugins, or even a custom build of Jenkins core. Just make sure you have
SNAPSHOT dependencies set up between the associated Maven modules (
<scope>test</scope> suffices), and that the upstream module(s) have been built (e.g.,
mvn -DskipTests clean install). Now
hpi:run on the downstream plugin and you should be able to reload views defined in any of the linked modules.
Distributing a Plugin
To create a distribution image of your plugin, run the following Maven command: