# ANT - Probleme bei Installation



## friedak (14. Apr 2007)

Hallo,

ich verzweifle jetzt bald an Apache Ant. Ich versuche jetzt wirklich schon seit zwei Tagen Ant zu installieren und ich finde das Problem nicht! Bitte, kann mir jemand helfen?

Ich habe bisher:
- apache-ant-1.7.0-bin.zip entpackt und in C gelegt: C:\ant
- Systemvariable ANT_Home gesetzt auf: C:\ant
- Benutzervariable PATH gesetzt: C:\ant\bin;
- jetzt versucht in CMD in c:\ant\bin zu gehen und dort ant.bat -h aufzurufen, dann kommt "Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher" ??? Was soll das
- und wenn ich nur ant aufrufe: "Der Befehl "ant" ist entweder falsch geschreiben oder konnte nicht gefunden werden
- bei "set ant" kommt das Ergebnis: ANT_HOME=C:\ant

Ich weiß echt nicht weiter. Hat jemand eine Ideee?

Grüße,
friedak :?:


----------



## NTB (14. Apr 2007)

friedak hat gesagt.:
			
		

> Hallo,
> 
> - jetzt versucht in CMD in c:\ant\bin zu gehen und dort ant.bat -h aufzurufen, dann kommt "Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher" ??? Was soll das


Das sollte eigentlich so gehen.
Es sollte sogar gehen, ohne dass Du die Systemvariablen gesetzt hast.



> - und wenn ich nur ant aufrufe: "Der Befehl "ant" ist entweder falsch geschreiben oder konnte nicht gefunden werden



Wenn er "ant" nicht findet, hast Du auch die PATH Variable nicht richtig gesetzt. Sonst muss er ant finden.

Was steht denn in Deiner "CLASSPATH" Variablen drin?
Hattest Du schonmal ANT irgendwo anders auf Deiner Kiste installiert?


----------



## friedak (14. Apr 2007)

hey ntb, 

also die Classpath-Variable habe ich so gesetzt: C:\Programme\Java\sdk\jdk\lib


Und java -version wird auch erkannt: 1.5.0_9

Nach einem Neustart kommt jetzt nur noch diese Exception, wenn ich "ant" eintippe: "Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher"

Was meinst Du nun?


----------



## NTB (14. Apr 2007)

Bist Du ganz sicher, dass ANT_HOME richtig gesetzt ist? Gib mal ein
set ANT_HOME
und kontrollier das nochmal.

Probier mal das, wenn Du im ant/bin Verzeichnis bist:


```
java -classpath "%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" org.apache.tools.ant.launch.Launcher -cp "%CLASSPATH%" -h
```


----------



## friedak (14. Apr 2007)

also bei set ant_home kommt folgendes:


```
C:\>set ant_home
ANT_HOME=C:\ant
```


und hier das Ergebnis von deinem Befehl in ant/bin:


```
C:\ant\bin>java -classpath "%ANT_HOME"\lib\ant-launcher.jar" "-Dant.home=%ANT_HO
ME%" org.apache.tools.ant.launch.Launcher -cp "%CLASSPATH%" -h
Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)

where options include:
    -client       to select the "client" VM
    -server       to select the "server" VM
    -hotspot      is a synonym for the "client" VM  [deprecated]
                  The default VM is client.

    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
                  A ; separated list of directories, JAR archives,
                  and ZIP archives to search for class files.
    -D<name>=<value>
                  set a system property
    -verbose[:class|gc|jni]
                  enable verbose output
    -version      print product version and exit
    -version:<value>
                  require the specified version to run
    -showversion  print product version and continue
    -jre-restrict-search | -jre-no-restrict-search
                  include/exclude user private JREs in the version search
    -? -help      print this help message
    -X            print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
                  enable assertions
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
                  disable assertions
    -esa | -enablesystemassertions
                  enable system assertions
    -dsa | -disablesystemassertions
                  disable system assertions
    -agentlib:<libname>[=<options>]
                  load native agent library <libname>, e.g. -agentlib:hprof
                    see also, -agentlib:jdwp=help and -agentlib:hprof=help
    -agentpath:<pathname>[=<options>]
                  load native agent library by full pathname
    -javaagent:<jarpath>[=<options>]
                  load Java programming language agent, see java.lang.instrument


C:\ant\bin>
```


----------



## NTB (14. Apr 2007)

Du musst den Befehl in EINER Zeile ausführen. Du hast offensichtlich nur das ausgeführt:

```
java -classpath "%ANT_HOME"\lib\ant-launcher.jar"  -Dant.home=%ANT_HO
```


Kopier es erst nach Word oder so...


----------



## friedak (14. Apr 2007)

ich hatte ein " statt ein % gesetzt. nun gibt es wieder folgendes Ergebnis (ist nun in CMD auch in einer Zeile):


```
C:\ant\bin>java -classpath "%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" org.apache.tools.ant.launch.Launcher -cp "%CLASSPATH%" -h
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher
```


----------



## NTB (14. Apr 2007)

liegt denn die "lib\ant-launcher.jar" auch tatsächlich da in lib? 
Ansonsten weiß ich auch nix mehr.... :/
Neu installieren  Oder Eclipse benutzen...


----------



## friedak (14. Apr 2007)

Daaaaaankeeeeee!
Das lib-file war leer. Muss irgendwie beim kopieren oder so verlorgen gegangen sein. Jetzt funktionierts:

```
C:\>ant
Buildfile: build.xml does not exist!
Build failed
```

Grundsätzlich benutze ich auch Eclipse. Braucht man da kein ANT? 
Ich muss einen Web Service erstellen und versuche mich durch Tutorials usw. zu schlagen. Da steht dann immer: man braucht einen Tomcat, Ant, JBoss... Bisher habe ich nun Tomcat und Ant installiert. Und jetzt muss ich schauen, wie ich weiter vorgehe. Aber mit Eclipse will ich auf jeden Fall arbeiten.

ntb, vielen Dank! Und sorry, wegen der Umstände. Hätt ich wohl auch früher feststellen müssen.


----------



## NTB (14. Apr 2007)

achso... ne für Eclipse brauchst Du kein Ant ))
/Window/Show View/Ant

und in das Fenster ziehst Du dann einfach Deine Build.xml 

Wobei Du für AXIS-Webservices (ich vermute mal, dass Du Axis nutzt *g*) nicht mal unbedingt ANT brauchst.
Aber allgemein ist es doch vorteilhaft, sich mal mit ANT zu beschäftigen, weil man damit echt sehr viel praktisches automatisieren kann.


----------



## friedak (14. Apr 2007)

oh, danke   

Hm, ich möchte JAX-WS nutzen - dann brauche ich doch Axis nicht (glaube ich zumindest bis jetzt). Bin aber noch am Anfang meiner Forschungen...

Kann es sein, dass ich evtl. auch keinen JBOSS brauche? Und alles über Tomcat läuft?


----------



## NTB (14. Apr 2007)

So schlau bin ich dann leider doch nicht 
-> Keine Ahnung!


----------



## friedak (14. Apr 2007)

Trotzdem noch vielen Dank für Deine Mühe!


----------



## M.L. (14. Apr 2007)

Tomcat und JBoss sind zwei Serversysteme für Programme mit Javahintergrund (JSP, Servlets,...) . Welcher Server geeigneter für den Einsatz von JAX-WS ist, sieht man am besten in der Dokumentation desselben nach ;-)


----------

