Build Path Management in Eclipse
From Skyway Wiki
Skyway Builder generates code into target project(s) in your workspace which may have a variety of configurations regarding library and dependency management. For users who have selected Maven as their build environment, many of these issues are mitigated by the fundamental capabilities of Maven. Eclipse also has a very nice system for managing the project Classpath which is extended by the Web Tools project to control how dependencies are delivered to downstream deployment environments and packaging, including which libs to package in the war file for example.
Skyway, like the Maven plugins for Eclipse, currently creates and manages classpath containers on the target projects to make it easier for users to build running applications quickly. These classpath containers include a wide variety of open source libraries that are required to compile the various types of code artifacts that are generated by the Skyway generation engine in Skyway Builder.
The use of classpath containers may not be ideal for all scenarios. For example, if you need to export the project to be compiled in a version of Eclipse that does not contain Skyway, you need a way of making the dependencies portable to the environment where you are importing that project. You may also need to override the version of libs that are included in the Skyway classpath containers to achieve parity with the expectations of your application server. Often, application servers package their own version of many of the open source libraries used in XML parsing, Web Services, etc.
The Jar Files can be downloaded from Skyway and used to add the physical lib files to your project directly rather than using the Skyway classpath containers.
Here are the steps to remove Skyway classpath containers:
- Disable automatic dependency updates (otherwise Skyway Builder will automatically add back classpath containers)
- Double click on the Spring DSL item in your modeling project
- Select the Category Mapping tab
- Check the Disable automatic dependency updates to projects checkbox
- Save
- Open the Project properties and select the “Build Path” element from the properties screen.
- Click on the Libraries tab and remove Skyways classpath containers.
You can then add any or all of the lib files from this zip distribution. Which libs you need depends on the type of code that you generate.
In the next version of Skyway you will be able to run an initialization wizard that will let you pick which libs you would like to install into each of your target projects to simplify this process.
Eclipse 3.4 (Ganymede) bug with classpath containers
Eclipse Bug 270287 There is a bug in Ganymede relating to the use of classpath containers. This issue doesn't occur all the time, and it can often be resolved by the following workarounds
- Closing and reopening the respective Eclipse projects
- Restarting Eclipse
In a few cases the workarounds don't work. Since Skyway Builder makes use of classpath containers, you may have difficulty deploying or exporting you Spring application (WAR or EAR). The solution is to remove Skyway classpath containers, as as described above.
jsp-api-2.0.jar Tomcat conflicts
Deployment exceptions occur in Tomcat in this approach if the jsp-api-2.0.jar file is deployed with the application. Removing that jar from the lib folder fixes the issue, see the following Forum Post for more details.

