Próbuję wykonać mvn release:perform
, ale polecenie zakłada, że plik pom znajduje się w katalogu głównym repozytorium. Czy istnieje właściwość lub preferencja systemu, którą mogę ustawić, aby zastąpić domyślną?Wydanie mvn: wykonanie nie powiedzie się, ponieważ plik pom nie znajduje się w katalogu głównym repozytorium
Wydaje się, że wywołanie mvn release:prepare
zakończyło się sukcesem, ponieważ wszystkie artefakty wydania znajdują się w katalogu docelowym, a repozytorium jest poprawnie oznakowane.
Jeśli jest to ważne, jest to projekt git.
EDIT Oto co zrobiłem:
cd /path/to/git/root/path/to/mvn/project
mvn -DdevelopmentVersion=1.2.0-SNAPSHOT -DreleaseVersion=1.1.0 release:prepare
...enter correct passphrase and choose all default options...
mvn release:perform
A następnie klonowanie zdalnego repo w katalogu target/checkout
i po jakimś ubijaniu i popychając do zdalnego git repo następujący błąd dzieje:
[ERROR]
[ERROR] The project (/path/to/git/root/path/to/mvn/project/target/checkout/pom.xml) has 1 error
[ERROR] Non-readable POM /path/to/git/root/path/to/mvn/project/target/checkout/pom.xml: /path/to/git/root/path/to/mvn/project/target/checkout/pom.xml (No such file or directory)
Więc Maven szuka pliku pom w katalogu głównym target/checkout
, który nie jest tam, gdzie się znajduje.
nr Maven zakłada pom znajduje się w bieżącym katalogu roboczym i korzenia projektu. Nie zakłada, że pom znajduje się w katalogu głównym repozytorium. Jeden wspólny układ (w Subversion) to /trunk/ProjectName/pom.xml. wydanie: przygotuj tam prace. Czy możesz rozwinąć problem, który pojawia się w momencie wydania wersji? –
Zobacz moją edycję powyżej. –
Po prostu ciekawy, gdzie * znajduje się * plik pom.xml i czy znajduje się automatycznie dla wszystkich innych zadań, na przykład "mvn install", "mvn compile"? Ogólnie można użyć "mvn -f dir1/dir2/pom.xml", aby użyć alternatywnego pliku pom.xml, chociaż nigdy wcześniej nie wypróbowałem go za pomocą wtyczki wydania. – Keith