Mercurial > hg > Blog
annotate content/Maven/default-jdk-for-cross-jdk-profiles.md @ 0:4cd9b65e10e4
initial import of the pelican based blog
author | Dirk Olmes <dirk@xanthippe.ping.de> |
---|---|
date | Fri, 28 Jun 2013 08:48:58 +0200 |
parents | |
children | 483a5f25ccb6 |
rev | line source |
---|---|
0
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
1 Title: Default JDK for cross JDK project profiles with Maven |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
2 Date: 2009-04-25 |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
3 Lang: en |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
4 |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
5 In my [previous blog post about Cross JDK project files with Maven](|filename|./cross-jdk-project-files-continued.md) I described a way to generate a custom JDK name into the Eclipse project files using the `maven-eclipse-plugin`. |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
6 |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
7 That approach still had one shortcoming: you would either have to rename your JDK to match the default configured in the POM or you would have to give the JDK name on the commandline. Now I stumbled over a [good tip on the maven user's list](http://n2.nabble.com/org.apache.maven.plugins%3Amaven-eclipse-plugin%3A2.7-SNAPSHOT-ignores--maven-compiler-plugin-tp2689287p2689425.html) that allows you to configure a sensible, cross platform default for the JDK. |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
8 |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
9 In short, the trick is not to use a concrete name of a JDK but to specify the name of a Java runtime environment. Eclipse automatically tries to match any configured JDK to an internal list of runtime environments. |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
10 |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
11 So if you put the following into your pom: |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
12 |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
13 :::xml |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
14 <properties> |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
15 <vmtype>org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType</vmtype> |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
16 <jdk5Name>J2SE-1.5</jdk5Name> |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
17 </properties> |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
18 ... |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
19 <plugin> |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
20 <groupId>org.apache.maven.plugins</groupId> |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
21 <artifactId>maven-eclipse-plugin</artifactId> |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
22 <version>2.5.1</version> |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
23 <configuration> |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
24 <downloadSources>true</downloadSources> |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
25 <classpathContainers> |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
26 <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER/${vmtype}/${jdk5Name}</classpathContainer> |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
27 </classpathContainers> |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
28 </configuration> |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
29 </plugin> |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
30 |
4cd9b65e10e4
initial import of the pelican based blog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff
changeset
|
31 Eclipse will assign a JDK5 runtime environment to the project (if it has a matching one configured, of course). |