Jedynym sposobem, można zmodyfikować plik wewnątrz słoika lub ucha jest użycie zadania <unzip>
, użyć zadania <replace>
zmodyfikować pola w pliku , a następnie ponownie skasuj plik za pomocą zadania <zip>
lub <jar>/<ear>
.
Istnieje kilka sposobów, można sobie z tym poradzić bez konieczności rozpakowania i rezip ucha/JAR/pliki War:
Preferowaną metodą jest konfiguracja serwera aplikacji, więc może znaleźć swoje właściwości zewnątrz samego ucha. Można również skonfigurować plik application.xml
, aby nie używać względnych katalogów podczas określania lokalizacji zamiast podawania lokalizacji z katalogu głównego komputera. Usuwając osadzone informacje o środowisku z ucha, możesz użyć tego samego pliku earfile we wszystkich swoich środowiskach.
Niestety, nie możemy tego zrobić i musimy dostarczyć osobne pliki douszne dla każdego środowiska. Używamy Jenkins jako naszego serwera do ciągłej kompilacji. Kiedy Jenkins wykonuje nasze kompilacje, budujemy wiele uszu, po jednym dla każdego środowiska, w tym samym czasie. W ten sposób, gdy przechodzimy z Dev do QA do ETAPU do Produkcji, możemy przynajmniej odnieść się do tego samego numeru kompilacji. Kompilujemy jeden raz, a następnie korzystamy z AntContrib <foreach>
task, aby uchwycić plik ear z prawidłowymi ustawieniami pliku właściwości i poprawnym plikiem application.xml
. Używamy <filterset>
w naszym zadaniu <copy>
, aby zmodyfikować właściwości i application.xml
podczas budowania ucha.
AFAIK, nie. Zastąp zadanie działa na katalogach. Czy możesz rozpakować, wymienić i ponownie zip? – aishwarya
Czy opcja aktualizacji działa zgodnie z oczekiwaniami? http://stackoverflow.com/questions/12059046/ant-ear-update-without-full-exploding-ear – peater