Programmerer.com

Keeping fun in the house

The plugin ‘org.codehaus.mojo:exec-maven-plugin’ does not exist

Arg. I dag er tydeligvis «make maven work»-day. Feilmeldingen over forsvinner når du stikker dette inn i POM-filen din:

<plug
</plugin>
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.1</version> <executions> <execution> <goals> <goal>exec</goal> </goals> </execution> </executions> <configuration> <executable>maven</executable> <!-- optional --> </configuration> </plugin>

(inni «plugins» i tre-strukturen). Det siste som gjenstår da, er å fortelle maven hvilken klasse som inneholder din main.Her kommer maven faktisk med en hjelpsom feilmelding. Den sier:

[0] Inside the definition for plugin ‘exec-maven-plugin’ specify the following: <configuration> … <mainClass>VALUE</mainClass> </configuration> -OR- on the command line, specify: ‘-Dexec.mainClass=VALUE’

Så der. Da kjører det!

annotations are not supported in -source 1.3

Denne skapningen møtte meg i dag morges da jeg skulle kjøre et Maven-prosjekt.

Jeg søkte etter «1.3″ i POM-filen, men fant ingenting.

Det viser seg at default-instillingen for Maven er å bruke JDK 1.3, så hvis ikke noe er definert… Aha!

Ved å legge tildette i POM-filen:

<properties>
<maven.compiler.source>1.5</maven.compiler.source>
<maven.compiler.target>1.5</maven.compiler.target>
</properties>
<properties>
<maven.compiler.source>1.5</maven.compiler.source>
<maven.compiler.target>1.5</maven.compiler.target>
</properties>

… så virket det plutselig! (1.6 virket forresten også…, helt til jeg la til noe Aspect-greier, da måtte jeg ned på 1.5.)