ANt und Libaries

Status
Nicht offen für weitere Antworten.
G

Gast2

Gast
Hallo zusammen,

Ich habe mit Eclipse ein web project angelegt und habe als libary den Tomcat. Nun möchte ich mit ant meine klassen compilieren. Meine Frage ist muss ich den pfad zu meinen Tomcat libary im ant script "hard codiert" angeben... oder gibt es auch eine andere möglichkeit damit er die libary erkennt?
[HIGHLIGHT="xml"]
<target name="compile">
<javac debug="true" failonerror="true" destdir="${destDir}" srcdir="${sourceDir}">
<classpath>
<fileset dir="C:/Tomcat/lib/" includes="*.jar" />
</classpath>
<include name="**/*.java"/>
</javac>
</target>
[/HIGHLIGHT]
 

Wildcard

Top Contributor
Kannst auch relative Pfade verwenden, oder automatisiertes Dependency-Management einsetzen (Buckminster, Maven, Ivy,..).
 

mvitz

Top Contributor
Und idealerweise den Pfad, dann in einem Property halten, damit, sollte sich am Pfad was ändern, dein Buildscript einfacher anzupassen ist.
 
G

Gast2

Gast
Und idealerweise den Pfad, dann in einem Property halten, damit, sollte sich am Pfad was ändern, dein Buildscript einfacher anzupassen ist.

Ja die ganzen Pfade sind in einer Property Datei, so war es schneller zu posten ;).

@Wildcard Von ivy habe ich schon mal was gehört, aber noch nie benutzt, werd ich mir mal anschauen. Danke
 

mvitz

Top Contributor
Oki :D

Ich mache es btw so, dass ich die nötigen Tomcat Libs, die ich brauche im Projekt habe (und somit auch unter Versionskontrolle). Man muss dann beim erstellen der war-Datei nur aufpassen, dass man diese nicht mit in den Lib Ordner packt, aber das geht schon, wenn man sein Projekt z.B. so strukturiert:
Code:
project
- ...
- lib
|- compile
|- runtime
- ...

Dann muss man nur die libs aus beiden Ordnern zum kompilieren benutzen und beim erstellen des Wars, werden nur die aus "runtime" mit einbezogen.

Hat vor allem auch den Vorteil, dass man dann auch ohne Tomcat installiert zu haben, dass gesamt Projekt bauen kann.
 

Wildcard

Top Contributor
habi55s Variante is so lange valide, wie es sich um ein, oder wenige Projekte handelt. Sobald sich viele Projekte die gleichen Artifacts teilen, sollte man eher auf ein Artifact Repository zurückgreifen (oder die Public Maven/Eclipse Orbit Repositories verwenden, solange die Welt nicht untergeht wenn man mal nicht builden kann weil das Netzwerk streikt.)
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben