.WAR export via JDT

Menico

Grünschnabel
Hallo Leute,

ich muss tagtäglich Webprojekte als WAR exportieren, die landen dabei auf einem von 3 fix definierten Plätzen div. Netzlaufwerke. Damit ich nicht immer alles von Hand eintragen muss (Pfad, Dateiname, etc...) habe ich mir ein kleines Plugin geschrieben das "org.eclipse.ui.menues" extendet und dort ein untermenu mit den 3 Spaces anzeigt.

Jetzt soll abhängig vom gewählten Untermenu ein WAR file von den angeklickten Projekten (im Project Explorer) erstellt werden und auf einen Space geschoben werden.

Jetzt hänge ich fest weil ich nirgendwo ein Beispiel dazu finde wie ich mit JDT ein WAR file generieren kann...

Hat das schonmal jemand von euch gemacht, oder weiß wie es geht?

Vielen Dank!
gruß menico
 
Hallo,

schau mal in den Sourcen des
org.eclipse.jst.servlet.ui (xxxx.xxxxx.xxxxxx) Plugins.
Dort findest die Klasse org.eclipse.jst.servlet.ui.internal.wizard.WebComponentExportWizard

Von da ab solltest du dich bis zum war Export herunterhangeln können.

Das findet man übrigens ganz leicht raus, wenn man an der gewünschten Stelle in Eclipse den Plug-in Spy aktiviert (alt+shift+F1)

Gruß Tom
 
Danke,

ich werd mal nachsehen wo ich das Plugin herbekomme, leider funktioniert der Eclipseupdater vom Firmennetz aus nicht.
 
Ich habe mir die Klassen jetzt online angesehen unter http://demo.spars.info/ aber ich hab mich nicht zurechtgefunden...


Ich poste jetzt mal meinen Code
Code:
	public Object execute(ExecutionEvent event) throws ExecutionException {

		IStructuredSelection selection = (IStructuredSelection) HandlerUtil
				.getActiveMenuSelection(event);
		List<JavaProject> elems = selection.toList();

		JavaProject ob = elems.get(0);

/* TODO: export */

		return null;
	}

Ich hole mir über den Event die selektierten Projekte. Gibt es eine "einfache" Möglichkeit das JavaProject nun als .war zu exportieren?
 
Hmm. Ich finde den Ansatz, das über ein Eclipse-Plugin zu machen, schräg. Ein kurzes Ant-File zusammengebastelt, und in die Ant-Ansicht gezogen.
Ant-Targets, um WARs zu packen, wirds wohl geben, und selbst das Definieren eigener Tasks würde ich hierbei dem Plugin-Ansatz den Vorzug geben.

Andererseits ist das schon ein interessanter Ansatz, frei nach dem Motte: Der Weg ist das Ziel ;-)
 
Hallo,

ich hab jetzt ein paar ANT scripte angesehen und das exportieren ist gar nicht so schwer...

damit ich das ANT script jetzt aber aus dem JAVA Code aufrufen kann benötige ich die Klasse "org.eclipse.ant.core.AntRunner"... kann mir jemand sagen woher ich diese Klasse für Eclipse bekomme?
 
Ach sorry, ich habe Dein ursprüngliches Posting nicht genau genug gelesen :(
Eventuell willst Du doch den Vorschlag von Tom folgen :D

Wenn das Ganze von der aktiven Selektion im Package Explorer abhängig sein soll geht das natürlich mit Ant nicht so dolle ;)
Ach so jetzt versteh ich was Du vorhast: Die drei Einträge bleiben, und der Code ruft dann intern das Ant auf? Hmm... hab ehrlich keine Ahnung, ob das geht.
Die Klasse AntRunner ist im org.eclipse.ant.core Plugin. Ob die allerdings so passend ist für das was Du vorhast, wage ich zu bezweifeln.

Ich hatte eher den vordefinierten Ant-View gemeint. Jedes Projekt eine antsches build.xml, die ganzen dann in den Ant-View gezogen, und voila.
 
Morgen,

ich möchte mehrere Projekte in mehrere Files exportieren (jedes Projekt bekommt ein gleichnamiges WAR-File).

Ich hab mir mal dieses ANT aus dem Netz kopiert:
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="Deploy From Eclipse to Tomcat" basedir=".">
<property name="warfile" value="sanfran"/>
<target name="create">
<war destfile="${warfile}.war" update="true">
<classes dir="build\classes"/>
<fileset dir="WebContent">
</fileset>
</war>
</target>
<target name="copy">
<copy todir="c:\" overwrite="true">
<fileset dir=".">
<include name="*.war"/>
</fileset>
</copy>
</target>
<target name="deploy">
<antcall target="create"/>
<antcall target="copy"/>
</target>
</project>

Die Klasse AntRunner habe ich jetzt auch eingebunden und herausgefunden wie ich Parameter mitschicken kann.

Was jetzt noch fehlt ist:
- Der Java-Code will den Pfad zur build.xml (siehe Code oben), wie bekomme ich diesen dynamisch raus? Ich will die build.xml mit dem Plugin mitliefern und immer das selbe File verwenden.

- Wie kann ich im ANT Script die mitgeschickten Parameter abfragen?

Danke für die Hilfe!

gruß Menico
 
Zurück