Message-ID: <2144103980.557.1411150013911.JavaMail.email@example.com> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_556_2080913625.1411150013910" ------=_Part_556_2080913625.1411150013910 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
There are several approaches to compiling Groovy code in your Ma= ven projects. GMavenPlus tries to = fill the role of the now discontinued GMav= en and is the most feature-rich. The Groovy-Eclipse compiler plugin for Maven= is a unique solution because it sidesteps joint compilation issues. Re= ad this page f= or an overview of how the choices in build tools differ.
A third approach is to use Maven's Ant plugin to compile a groovy projec= t. Note that the Ant plugin is bound to the compile and test-compile phases= of the build in the example below. It will be invoked during these phases = and the contained tasks will be carried out which runs the Groovy compiler = over the source and test directories. The resulting Java classes will coexi= st with and be treated like any standard Java classes compiled from Java so= urce and will appear no different to the JRE or any Java classes that inter= act with your Groovy classes.
This assumes you have a Maven project setup with "groovy" subf= olders as peers to the java src and test subfolders. You can use the java/j= ar archetype to set this up then rename the java folders to groovy or keep = the java folders and just create groovy peer folders. After defining = the build section as in the above example, you can invoke the typical Maven= build phases normally. For example, "mvn test" will execute the = test phase, compiling Groovy source and Groovy test source and finally exec= uting the unit tests. If you run "mvn jar" it will execute the ja= r phase bundling up all of your compiled production classes into a jar afte= r all of the unit tests pass. For more detail on Maven build phases consult= the Maven2 documentation.