You are here
Setting up a development enviornment for developing SpringSurf apps
Setting up a development environment for developing with SpringSurf is not as easy as you might thing...or is it just me? Below is a quick and dirty listing of the things you need as well as some of the gotchas you might run into. Before I do, I should mention that there is a great tutorial at http://www.springsurf.org/sites/1.0.0.M3/spring-surf-devtools/spring-surf-roo-addon/reference/html/intro.html#intro-installation which is more or less what you need.
What you will need
- Apache Maven installed and available via the command line.
There is an issue on windows based environments whereby paths with spaces in it can confuse Maven. Depending on where it was installed, you may have to shift some of the files around. See this bug description for more details.
- SpringSource Tool Suite
This is more or less problem free, however I can never get the maven dependancy stuff to work straight off. I think you have to do some kind of rain dance whilst tweaking the nose of a white haired rat during the rainy season and then you will probably get it to work. In my experience it is better to run from the command line. Go into your working directory and use the mvn jetty:run command and things will run a lot more smoothly (if you're still having problems, try a mvn clean first and see if that helps). Make sure you install the SpringRoo addon at the same time.
- A working Alfresco install.
You obviously don't need this if your SpringSurf application isn't going to be using it, but it's best to have it running locally and then shift to a remote server once you've got it working. Alfresco by default (if you are using Tomcat) will run on port 8080, whilst Jetty will run on port 8180. So there shouldn't be any conflicts.
Or some other form of pick me up. Rest assured you'll be spending many a long night screaming at the screen whilst your kids grow up around you and your hair gets gradually whiter. Ok, not quite that bad, but it takes some getting used to.