# Spring Framework - Eclipse/STS Project Import Guide This document will guide you through the process of importing the Spring Framework projects into Eclipse or the Spring Tool Suite (STS). It is recommended that you have a recent version of Eclipse or STS. As a bare minimum you will need Eclipse with full Java 8 support, the AspectJ Development Tools (AJDT), and the Groovy Compiler. The following instructions have been tested against [Spring Tool Suite](https://spring.io/tools) (_STS_) 3.9.4 and 4.0.0.M11 with [Eclipse Buildship](https://projects.eclipse.org/projects/tools.buildship) (Eclipse Plug-ins for Gradle). The instructions should work with the latest Eclipse distribution as long as you install [Buildship](https://marketplace.eclipse.org/content/buildship-gradle-integration). Note that STS 4 comes with Buildship preinstalled. ## Steps _Within your locally cloned `spring-framework` working directory:_ 1. Precompile `spring-oxm` with `./gradlew :spring-oxm:compileTestJava` 2. Import into Eclipse (File -> Import -> Gradle -> Existing Gradle Project -> Navigate to directory -> Select Finish) 3. If prompted, exclude the `spring-aspects` module (or after the import by closing or deleting the project) 4. In the `spring-oxm` project, add the two folders (`castor` and `jaxb`) in `build/generated-sources` to the build path (right click on them and select `Build Path -> Use as Source Folder`) 5. To apply project specific settings run `./gradlew eclipseBuildship` 7. Code away ## Known Issues 1. `spring-core` and `spring-oxm` should be pre-compiled due to repackaged dependencies. - See `*RepackJar` tasks in the build. 2. `spring-aspects` does not compile due to references to aspect types unknown to Eclipse. - If you install [AJDT](https://www.eclipse.org/ajdt/downloads/) into Eclipse it should work. 3. While JUnit tests pass from the command line with Gradle, some may fail when run from the IDE. - Resolving this is a work in progress. - If attempting to run all JUnit tests from within the IDE, you will likely need to set the following VM options to avoid out of memory errors: `-XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeapSize=2048m` ## Tips In any case, please do not check in your own generated `.classpath` file, `.project` file, or `.settings` folder. You'll notice these files are already intentionally in `.gitignore`. The same policy holds for IDEA metadata.