# Maven, ant-run & javac



## JBenutzername (27. Jun 2009)

Hallo zusammen,

ich habe ein Problem mit dem ant-run-Plugin für Maven. Ich möchte damit einige Ant-Targets ausführen, jedoch wenn dort javac aufgerufen wird bekomme ich folgende Meldung:


```
An Ant BuildException has occured: The following error occurred while executing this line:
D:\eclipse\atunes\atunes\mvn-ant-run-build.xml:108: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\Program Files\Java\jdk1.6.0_14\jre"
```

Diesen Fehler bekomme ich sowohl in Eclipse als auch auf der Konsole. Wenn ich die build.xml alleine mit Ant ausführe, habe ich keinen solchen Fehler. JAVA_HOME ist allerdings korrekt gesetzt auf ""C:\Program Files\Java\jdk1.6.0_14\". In Eclipse ist auch das JDK ausgewählt.

Woran könnte das liegen?

ant-run-Konfig:

```
<plugin>
				<groupId>org.apache.maven.plugins</groupId>

				<artifactId>maven-antrun-plugin</artifactId>
				<version>1.3</version>
				<executions>
					<execution>
						<phase>package</phase>
						<configuration>
							<tasks>

								<property name="deploy_folder" value="${basedir}/deploy/aTunes" />
								<property name="deployable" value="${basedir}/deployable" />
								<property name="deploy_result" value="${basedir}/deploy_result" />
								<property name="build_tools" location="${basedir}/build_tools" />
								<property name="lib_build" location="${build_tools}/lib" />
								<property name="lib" location="${basedir}/lib" />
								<property name="launch4j.dir" location="${lib_build}/launch4j" />
								<property name="win_tools" location="${basedir}/win_tools" />
								<property name="translations" location="${basedir}/translations" />
								<property name="version" value="1.14.0" />

								<ant antfile="${basedir}/mvn-ant-run-build.xml">
									<target name="create_aTunes.exe" />
								</ant>

								<ant antfile="${basedir}/mvn-ant-run-build.xml">
									<target name="create_installer" />
								</ant>

								<ant antfile="${basedir}/mvn-ant-run-build.xml">
									<target name="create_deb" />
								</ant>

								<ant antfile="${basedir}/mvn-ant-run-build.xml">
									<target name="create_tarball" />
								</ant>

							</tasks>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>

				</executions>
			</plugin>
```


----------



## maki (27. Jun 2009)

```
"C:\Program Files\Java\jdk1.6.0_14\jre"
```
Das ist kein JDK, sondern die JRE, in der JRE gibt es keinen Compiler.

Darf man fragen wozu man eigentlich mit Ant kompilieren will wenn man Maven2 nutzt?
Vielleciht gibt es ja einen einfacheren Weg.


----------



## JBenutzername (27. Jun 2009)

Dieser Pfad hat mich auch gewundert, weil ich das "jre" nirgendwo angegeben habe.

Mittlerweile habe ich die Lösung gefunden:

```
<property name="build.compiler" value="extJavac"/>
```


----------



## JBenutzername (27. Jun 2009)

maki hat gesagt.:


> Darf man fragen wozu man eigentlich mit Ant kompilieren will wenn man Maven2 nutzt?
> Vielleciht gibt es ja einen einfacheren Weg.



Das Projekt nutzt bisher nur Ant. Als erster Schritt sollen die ganzen Ant-Targets erstmal wiederverwendet werden. Später kann man dann weiter migrieren.


----------

