# Ant Problem: Unable to find a javac compiler;



## AlBundy (17. Feb 2005)

Hi

Habe versucht mein erstes Bundle zu schreiben.
Bin soweit auch fertig aber wenn ich versuche die ant build datei auszuführen bekomme ich folgende consolenausgabe:


```
Buildfile: X:\Java\simplebundle\build.xml
init:
compile:
    [javac] Compiling 2 source files to X:\Java\simplebundle\classes
BUILD FAILED: X:\Java\simplebundle\build.xml:16: 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
Total time: 3 seconds
```

Habe den JDK Pfad aber angegeben.
Ich arbeite mit Eclipse
OS= WinXP

weiss nicht was ich noch schreiben soll sry totaler anfänger 


mfg albundy


----------



## Bleiglanz (17. Feb 2005)

und wie sieht das buildfile aus?

innerhalb von eclipse oder von console gestartet?

warum willst du eine "Bundle" (meinst du ein RessourceBundle?) kompilieren?


----------



## AlBundy (17. Feb 2005)

also ich will nen bundle für knopflerfish erstellen das dann verschiedene services zur verfügung stellt, das ist aber noch gar nicht in planung, erstmal möchte ich das er das bundle überhaupt erstellt
die build file sieht so aus:


```
<?xml version="1.0"?>

<project name="simplebundle" default="all">
	<target name="all" depends="init,compile,jar"/>

	<target name="init">
		<mkdir dir="./classes"/>
		<mkdir dir="./build"/>
	</target>


	<target name="compile">
		<javac destdir	= "./classes"
		      debug	= "on"
		      srcdir	= "."
		>
		</javac>
	</target>
	<target name="jar">
	
		<jar basedir	= "./classes"
		     jarfile	= "./build/simplebundle.jar"
		     compress	= "true"
		     includes	= "**/*"
		     manifest	= "./meta-inf/MANIFEST.MF"
		  />

	</target>

	<target name="clean">
		<delete dir = "./classes"/>
		<delete dir = "./build"/>
	</target>

</project>
```

mein altes problem hat sich aber jetzt erledigt, ich habe bei den installierten JRE´s in eclipse das falsche benutzt

er bringt mir jetzt folgenden fehler:



```
Buildfile: X:\Java\simplebundle\build.xml
init:
compile:
    [javac] Compiling 2 source files to X:\Java\simplebundle\classes
    [javac] X:\Java\simplebundle\de\vpe\simplebundle\impl\Activator.java:9: package org.osgi.framework does not exist
    [javac] import org.osgi.framework.BundleActivator;
    [javac] ^
    [javac] X:\Java\simplebundle\de\vpe\simplebundle\impl\Activator.java:10: package org.osgi.framework does not exist
    [javac] import org.osgi.framework.BundleContext;
    [javac] ^
    [javac] X:\Java\simplebundle\de\vpe\simplebundle\impl\Activator.java:19: cannot resolve symbol
    [javac] symbol  : class BundleActivator
    [javac] location: class de.vpe.simplebundle.impl.Activator
    [javac] public class Activator implements BundleActivator {
    [javac] ^
    [javac] X:\Java\simplebundle\de\vpe\simplebundle\impl\Activator.java:21: cannot resolve symbol
    [javac] symbol  : class BundleContext
    [javac] location: class de.vpe.simplebundle.impl.Activator
    [javac] public static BundleContext bc = null;
    [javac] ^
    [javac] X:\Java\simplebundle\de\vpe\simplebundle\impl\Activator.java:25: cannot resolve symbol
    [javac] symbol  : class BundleContext
    [javac] location: class de.vpe.simplebundle.impl.Activator
    [javac] public void start(BundleContext bc) throws Exception {
    [javac] ^
    [javac] X:\Java\simplebundle\de\vpe\simplebundle\impl\Activator.java:32: cannot resolve symbol
    [javac] symbol  : class BundleContext
    [javac] location: class de.vpe.simplebundle.impl.Activator
    [javac] public void stop(BundleContext bc) throws Exception {
    [javac] ^
    [javac] 6 errors
BUILD FAILED: X:\Java\simplebundle\build.xml:16: Compile failed; see the compiler error output for details.
Total time: 12 seconds
```


----------



## Bleiglanz (17. Feb 2005)

du musst beim <javac task den classpath angeben, weil du offenbar externe jars brauchst, schau in die Doku von ant unter tasks -> javac


----------



## AlBundy (17. Feb 2005)

cool, jetzt gehts danke


----------

