Ant Build.xml update

Status
Nicht offen für weitere Antworten.

wakoz

Aktives Mitglied
Hi
Ich habe ein kleines problem mit meiner Build.xml
Ich compeliere und deploye eine jar, soweit funktioniert das auch. Nur wenn die jar bereits existiert kann sie nicht in das ziel verzeiuchnes deployt werden. Damit die existierende jar überschrieben werden kann gibt es laut manual das Attribute update

nur wenn ich update="true" oder ="yes" angebe passiert nichts beim ausführen
Beispiel:
Code:
<jar destfile="${dist}/lib/app.jar" basedir="${build}/classes" update="true"/>
zuvor compelire ich mit mit dem javac tag in der xml meine class die xml habe ich in Eclipse erstellt.

gebe ich update an der falschen stelle an? oder verstehe ich update falsch? oder steht es an der falschen stelle?
 

SvenK

Aktives Mitglied
Das Manual sagt

"The update parameter controls what happens if the JAR file already exists. When set to yes, the JAR file is updated with the files specified. When set to no (the default) the JAR file is overwritten."

Heisst also, es wird standardgemäß überschrieben.

Definiere den Ausdruck "es passiert nichts beim Ausführen" etwas genauer.
 

wakoz

Aktives Mitglied
Wie gesagt die class soll durch die xml compeliert und in das zielverzeichnis deployt werden.

Die xml starte ich über Eclipse (Run as ANT.Build oder änlich) die console gibt die erfolgraiche compelierung wieder, nur wird erst dann deployt wenn das zielverzeichnis leer ist.

Für mich heist das, das upgrade wird nicht ausgeführt und die alte jar wird weiter genutzt obwohl diese überschrieben werden sollte.

Die Consolen wiedergabe endert sich entsprechend
-Beim Leeren verzeichnis wird der deploy ausgegeben und bei einer existierenden jar eben nicht.
 
Zuletzt bearbeitet:

wakoz

Aktives Mitglied
Code:
<project name="build" default="jar" basedir=".">
	<property file="build.properties" />
	
	<target name="compile">
		<javac srcdir="${src.dir}" destdir="${build.dir}">
			<classpath>
				<fileset dir="${jboss}/client">
					<include name="**/*.jar" />
				</fileset>
				<fileset dir="${jboss.server.default}/lib">
					<include name="**/*.jar" />
				</fileset>
			</classpath>
			<include name="**/*.java" />
		</javac>
	</target>
	
	<target name="jar" depends="compile">
		<jar destfile="${jboss.server.default}/deploy/Titan.jar" basedir="${build.dir}" update="yes"/>
	</target>
	
</project>
Ausgabe wenn jar nicht im zielverzeichnis vorhanden ist.
Code:
Buildfile: C:\Dokumente und Einstellungen\Wolfgang\workspace\Titan\Build.xml
compile:
jar:
      [COLOR="Blue"][jar] Building jar: C:\Programme\JBOSS\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\server\default\deploy\Titan.jar[/COLOR]
BUILD SUCCESSFUL
Total time: 1 second
Ausgabe wenn die Jar bereits vorhanden ist, die oben blau markierte zeile müsste aber wenn deployt wird mit aufgeführt werden.
Code:
Buildfile: C:\Dokumente und Einstellungen\Wolfgang\workspace\Titan\Build.xml
compile:
jar:
BUILD SUCCESSFUL
Total time: 406 milliseconds
Ich verstehe das so, die xml wurde ausgeführt aber die jar wurde nicht wie im Manual beschrieben überschrieben.
 

SvenK

Aktives Mitglied
Das Jar wird nur neu erstellt, wenn sich seit dem letzten Mal etwas geändert hat, wenn also die Quellen geändert und neu compiliert wurden oder die Jar nicht vorhanden ist. Ist nichts passiert, merkt das Ant und macht folglich auch nix.

Es hat also alles seine Richtigkeit. Ich würde das update wieder entfernen.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben