Javeleon Eclipse Plugin
If you use Javeleon for JVx applications and your preferred IDE is Eclipse, check out our new Eclipse plugin. It is the inofficial Javeleon plugin for Eclipse. The name of the plugin is Javilion Plugin. It is available on SourceForge and it is released under Apache License 2.0.
The plugin has two helpful features:
- Reload Javeleon manually
Simply reload Javeleon whenever you want.
- Automatic Reload after resource file update
The current Javeleon version(s) does not reload when you change a resource file like .properties, .xml, ... If you enable the Javilion plugin in your Eclipse project, reload happens automatically.
If you want to use the plugin, use the following instructions, because we have not setup an updatesite right now!
- Download the plugin
- Copy the jar to the dropins or plugins directory of your Eclipse installation
- Restart Eclipse
- Add Javilion nature to your project: right mouse click on your project, Javilion/Add nature
- Right click on your project to verify that Javilion is added:
- Configure your application run configuration and add the port property to your javaagent, e.g.:
-javaagent:D:\javeleon.jar=nbjdk=default;profile=java;port=9999
The port 9999 is the default setting. If you need another port, configure it in your .project file:
<buildCommand>
<name>com.sibvisions.eclipse.javilion.JavilionBuilder</name>
<arguments>
<dictionary>
<key>port</key>
<value>1234</value>
</dictionary>
</arguments>
</buildCommand>It is a little bit tricky, because we don't have a configuration UI for the plugin right now.
If you use the plugin together with a Javeleon ReloadListener (-Djaveleon.reload.listener=app.MyListener), you feel the full power of Javeleon.
Great stuff René!
Just a few minor comments. In recent versions of Javeleon you don't need to specify the nbjdk and profile any more. Simply -javaagent:path/to/agent/javeleon.jar=port=9999 will do just fine. Javeleon 2.0 final release is just around the corner. There will be a new RC uploaded tomorrow.
When you setup -Djaveleon.reload.listener=app.MyListener you're expected to create the class app.MyListener which must implement the ChangeListener interface. If you do so you're able to run reload-specific code (e.g. clearing caches).
Thanks for providing the first plug-in on top of Javeleon René.
BTW, I've put this blog-entry on DZone at: http://www.dzone.com/links/unofficial_eclipse_plugin_for_javeleon.html
Wow, and thanks for the information!
A sample listener implementation:
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class JaveleonListener implements ChangeListener
{
public void stateChanged(final ChangeEvent event)
{
//Clear caches or reload your UI
}
} // JaveleonListener