Apr 15, 2013

Αλλάζοντας τα περιεχόμενα ενός .ear αρχείου μέσω ANT scripting

Δεν είναι σπάνιες οι περιπτώσεις που έπειτα από μια διαδικασία packaging θα χρειαστεί να αλλάξουμε κάτι στο παραγόμενο .ear αρχείο εφαρμογών μας. Για τους JEE και τους custom descriptors, ο Weblogic υποστηρίζει τα deployment plans (http://docs.oracle.com/cd/E11035_01/wls100/deployment/config.html) Ίσως πάλι να χρειαστεί να αλλάξουμε κάτι περισσότερο "εσωτερικό", πχ κάποιες κλάσεις ή properties αρχεία. Σε μια ανάλογη περίπτωση, χρειάστηκε να χειριστώ ένα .ear αρχείο που προέκυψε από το ojdeploy του JDeveloper. Ένας σύντομος δρόμος επεξεργασίας, προσφέρεται από την ΑΝΤ βιβλιοθήκη GroboUtils (http://groboutils.sourceforge.net/index.html) που προσφέρει υπηρεσίες όπως alterEar, alterWar, κ.ο.κ.

Κατεβάζοντας τους κώδικες του GroboUtils, μεταφέρουμε το αρχείο GroboCodeCoverage-1.1.0-ant.jar στο $ANT_HOME/lib φάκελο μας. Έπειτα, θέλοντας ενδεικτικά να τροποποιήσουμε ένα properties αρχείο στη διαδρομή WEB-INF/classes (που βρίσκεται στο συμπεριλαμβανόμενο .war αρχείο) μπορούμε να έχουμε τους ακόλουθους κώδικες στο ANT script μας:

<taskdef resource="ant-grobocoverage.properties">
  <classpath>
    <pathelement location="/usr/share/java/lib/GroboCodeCoverage-1.1.0-ant.jar"/>
  </classpath>
</taskdef>
    <grobo-rezip>
    <alterEar src="${dist.dir}/ear/myapplication.ear">
        <alterWar src="myapplication_webapp1.war">
            <classes dir="${build.tmp.dir}" includes="**/Application.properties" />
        </alterWar>
    </alterEar>
</grobo-rezip>

No comments: