2010-09-10 21 views
4

J'ai un projet J2EE existant qui est très grand et ancien. Par conséquent, mon processus de construction actuel consiste à ouvrir eclipse, file/export, et à cliquer sur archive War.Génération Ant build.xml automatiquement

Alors que le chiffre d'affaires de notre entreprise est aussi rapide que la nouvelle construction est nécessaire, nous devons créer un processus automatisé. Cependant, je cherche le moyen le plus rapide d'automatiser la construction. Je cherche d'abord à Maven2, mais notre application a un JDK1.4, ce qui est inférieur au minimum 1.5. Je cherchais Maven1, mais après quelques bogues bizarres et quelques lectures, il semble que ce soit juste une superposition pour Ant. Pourquoi je n'utilise pas directement Ant?

Nous y voilà, je regarde la documentation d'Ant et j'essaie d'écrire build.xml mais il semble que ce soit trop difficile avec mon grand projet. Pour l'amour de Dieu, quand je clique sur Export/War, Eclipse fais le travail. Pourquoi je ne peux pas, de la manière la plus simple, reproduire ou exporter la façon dont Eclipse exporte le fichier war, dans un build.xml ou quoi d'autre?

Certains outils qui convertissent Eclipse métadonnées en ant-build.xml devrait existe. Mais est-ce que quelqu'un les connaît?

+1

Vous devriez vraiment envisager d'améliorer votre environnement Java. 1.4 a 8 ans, je ne suis même pas sûr qu'ils publient encore des correctifs de maintenance pour cela. Il deviendra de plus en plus difficile de trouver les logiciels actuels que vous pouvez toujours utiliser. –

Répondre

4

Je ne pense pas que la création du script Ant soit si difficile. Quoi qu'il en soit , peut-être ce lien pourrait aider: Creating a deployable WAR file from Eclipse Project

Voici un exemple de fichier Ant (copié à partir de la page liée):

<?xml version="1.0" encoding="ISO-8859-1"?> 
<project name="Deploy From Eclipse to Tomcat" basedir="."> 
    <property name="warfile" value="sanfran"/> 
    <target name="unpack"> 
     <unwar src="${warfile}.war" dest="${warfile}" /> 
    </target> 
    <target name="create"> 
     <war destfile="${warfile}.war" webxml="WebContent/WEB-INF/web.xml" update="true"> 
      <classes dir="build\classes"/> 
      <fileset dir="WebContent"> 
       <exclude name="WEB-INF/web.xml"/> 
      </fileset> 
     </war> 
    </target> 
    <target name="copy"> 
     <copy todir="c:\tomcat5517\webapps" overwrite="true"> 
      <fileset dir="."> 
       <include name="*.war"/> 
      </fileset> 
     </copy> 
    </target> 
    <target name="deploy"> 
     <antcall target="create"/> 
     <antcall target="copy"/> 
    </target> 
</project> 
+0

Après avoir consommé la majeure partie de mon temps, j'ai écrit un script de fourmi à partir de zéro. Merci pour votre réponse! – Doomsday

+0

Est-ce que ce fichier ant crée aussi les fichiers de classe? (Dans Eclipse, ceci est fait automatiquement). –

1

Avez-vous essayé http://www.testingreflections.com/node/view/1129.

Anotherway peut être d'utiliser IntelliJ pour charger projet Eclipse et IntelliJ utiliser pour créer un fichier ant

+0

Eh bien, cette solution est correcte, mais elle n'est pertinente que si le projet utilise IntelliJ auparavant. J'ai regardé cet IDE et c'était trop complexe pour y convertir mon projet WebSphere actuel ... Et la simplicité était mon argument principal :-) – Doomsday

+0

Le plugin semble déjà être inclus dans Eclipse Indigo. –