Setting up Eclipse for debugging XWiki Enterprise
The goal of this tutorial is to describe a way to setup Eclipse to be able to :
- edit web files (javascript, images, ...) in and automatically publish them in a running instance of XWiki without restarting it
- edit and debug java without restarting XWiki instance
All these tricks helps to improve the programming speed a lot.
Prerequisites
- Knowledges:
- This tutorial does not explain how Eclipse/JDT works and how to install Eclipse plugins
- You should already know how to build XWiki using maven and also how maven generally works, how to create pom.xml, etc. You can look at Building XWiki.
- You should take a look at general XWiki sources repository structure.
- Tools
- Java JDK 1.5 or superior (this tutorial is based on 1.6)
- Apache Tomcat installed on your computer (this tutorial is based on 5.5) : http://tomcat.apache.org/
- Eclipse (this tutorial is based on Eclipse J2EE Europa/3.4)
- Predefined XWiki Eclipse Linux distribution on yoxos.com : http://ondemand.yoxos.com/geteclipse/rap?profiles=868129468_122813542373821007
- from eclipse.org
- You can download Eclipse from the Eclipse Download Site. XWiki doesn't need the very latest version; but if you are going to download Eclipse you might as well get the latest 3.4 level. Alternatively you can download one of the many Eclipse distributions, such as the "Eclipse IDE for Java EE Developers" one which includes other features and plugins such as the Web Tools Project.
- Maven Eclipse plugin (this tutorial is based on 0.9 but it's working pretty much the same with 0.10): http://m2eclipse.codehaus.org/
- AJDT Eclipse plugin: http://www.eclipse.org/ajdt/. If you plan to debug XWiki Core or any other project which contains AspectJ files.
Get the source for XWiki
Checkout platform trunks (see http://dev.xwiki.org/xwiki/bin/view/Community/SourceRepository#HCheckingoutsources) somewhere in your computer different from your Eclipse workspace.
svn co http://svn.xwiki.org/svnroot/xwiki/platform/trunks/ platform
Setting Eclipse
To be able to launch XWiki into Eclipse and debug it we will create a WTP project which will be a mirror of the product web we want to work on. Here it will be XWiki Enterprise.
- Create debug project
- Checkout the default project (Recommended)
The best way to get the debug project is to checkout it from [http://svn.xwiki.org/svnroot/xwiki/platform/xwiki-tools/trunk/xem-web-debug-eclipse/].
You can directly import the project using Eclipse SVN plugin with the url http://svn.xwiki.org/svnroot/xwiki/platform/xwiki-tools/trunk/xem-web-debug-eclipse/. - Or Create it by hand
- Checkout the default project (Recommended)
- Import and link maven jar projects to debug
- Start XE Web Debug Project
- Troubleshoots
- Enjoy :)
Other useful tricks/tools
- You should use XEclipse to edit wiki pages : XEclipseExtension.
- To dynamically validate your java code on XWiki codestyle you should use and configure Eclipse Checkstyle plugin (Note that this is already installed and configured in Yoxos Eclipse distribution for XWiki).
- Look at DevelopmentTools for a list of usefull development tools.
TODO
- find a way to support new wysiwyg
- add more explanation on how "Run as server" works behind the scene
- http://code.google.com/p/m2eclipse-wtp-ext/ seems promising