ANT + Servlet

Status
Nicht offen für weitere Antworten.

Lukas321

Mitglied
Muss ich wenn ich Apache ANT mit Servlets verwende irgendetwas anders machen als wei wenn ich es mit einen normalen Java Project nutze?
Bei normalen Java Project funktioniert alles wenn ich das selbe aber mit Servlets verwende geht nichts mehr
Kommt immer cannot find symbol Klasse.java
???:L

lg
 

mvitz

Top Contributor
Deine Frage ist einfach zu unkonkret, vermutlich weiß hier keiner, was du genau möchtest.

Interessant wäre einmal, wie deine Projektstruktur aussieht, wie dein Ant File aussieht, wo der genaue Fehler kommt.
 

Lukas321

Mitglied
Also so sieht mein ANT build.xml file zurzeit aus:

Code:
<project name="MyTask" basedir="." default="Main">

	<property name="src" location="src" />
	<property name="build" location="build" />
	<property name="dist" location="dist" />
	<property name="docs" location="docs" />

	<target name="clean">
		<delete dir="${build}" />
		<delete dir="${docs}" />
		<delete dir="${dist}" />
	</target>
	
	<target name="makedir">
		<mkdir dir="${build}" />
		<mkdir dir="${docs}" />
		<mkdir dir="${dist}" />
	</target>
	
	<target name="compile" depends="clean, makedir">
		<javac srcdir="${src}" destdir="${build}" />
	</target>

	<target name="jar" depends="compile">
		<jar destfile="${dist}\test.jar" basedir="${build}">
			<manifest>
				<attribute name="Main-Class" value="main.Main" />
			</manifest>
		</jar>
	</target>
	
	<target name="Main" depends="compile, jar">
		<description>Main target</description>
	</target>
</project>

Struktur sieht ca so aus:
-src
# package mit den ganzen Klassen
-WebContent
# alle .jsp's
-build.xml


Wenn ich nun das Ant Script starte kommt er bis zum target compile und dann nicht mehr weiter! Fehler:

[javac] C:\Dokumente und Einstellungen\lstampfer\workspace\ServletDemo\src\net4you\UpdateBlacklist.java:58: cannot find symbol
[javac] symbol : class ServletException
[javac] location: class net4you.UpdateBlacklist
[javac] protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

Normal in Eclipse läuft alles ganz normal deswegn kann ich mir nur denken das ich bei ANT irgendwas falsch habe! Vielleicht muss das Script bei Servlets anders aussehen??? Habe aber noch nichts gefundn wo so was gestanden ist.....

lg
 

mvitz

Top Contributor
Du musst die Servlet-API noch in deinen Klassenpfad für ANT aufnehmen.

[XML] <target name="compile" depends="clean, makedir">
<javac srcdir="${src}" destdir="${build}">
<classpath>
<fileset dir="${tomcat.home}/lib" includes="*.jar" />
</classpath>
</javac>
</target>[/XML]

Müsstest dafür vorher natürlich das Property tomcat.home noch setzen
 

Lukas321

Mitglied
OK Danke..jetzt bin ich schon einen Schritt weiter

Aber jetzt schreibt er:

Problem: failed to create task or type classpath
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.

Heißt das er kennt den Befehl classpath nicht?? Denn wenn ich <classpath> selbst im Script schreiben möchte gibt er mir auch keine Vorschläge dafür...:bahnhof:

lg
 

mvitz

Top Contributor
Komisch, classpath in einem javac task funktioniert bei mir einwandfrei...

den WAR Task braucht man, anschließend um die gesamte Anwendung in ein WAR FIle zu packen, welches du dann auf den Tomcat bringen kannst
 

Lukas321

Mitglied
hmmm..

weiß sonst irgendwer wie ich das mit dem classpath zum laufen bekomm oder hat jemand schon so ne fehlermeldung bekommen..???

lg
 

mvitz

Top Contributor
Poste doch nochmal die aktuelle build.xml (mit dem Fehler)

Hast du den <classpath> auch innerhalb von <javac> (beachte dass da kein /> am ende ist)
 

Lukas321

Mitglied
Ahhh...vielen DANK!!!

ich hab die javac obn schon /> zugemacht!! Jetzt funktioniert alles!!:applaus::applaus:

Eine Frage noch zu dieser WAR Task:
Ich hab jetzt dieses War file auch schon erstellt. Aber wie binde ich dieses jetzt auf meinen Tomcat ein??

lg
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben