2011-07-26 15 views
9

Napisałem pom.xml dla procesu automatycznego wdrażania między Hudson i serwerami wdrażania.Maven JVM nieoczekiwanie zakończył pracę z kodem wyjściowym 0 na serwerze WWW wdrażającym

Skrypt, który wracam do jego pracy doskonale widać aplikację na serwerze WWW. Aplikacja została wdrożona na serwerze sieci Web. Żadnych problemów.

Wszystkie pozostałe zadaniem jest również bardzo dobrze działa na serwerach, ale kompilacja zawodzi jako udało mówiąc poniższy błąd w Hudson

[ServerConnectionImpl.close():332] : Closing DM connection 
[ServerConnectionImpl.close():352] : Unregistered all listeners 
[ServerConnectionImpl.closeJMX():372] : Closed JMX connection 
[ServerConnectionImpl.closeJMX():384] : Closed Runtime JMX connection 
[ServerConnectionImpl.closeJMX():396] : Closed Edit JMX connection 
**ERROR: Maven JVM terminated unexpectedly with exit code 0** 
Sending e-mails to: [email protected] 
Finished: FAILURE 

Nie wiem, dlaczego tak się dzieje w Maven .

Oto moje maven optyki ustawione na serwerze Hudson.

Maven_OPTS : -Xms256m -Xmx1024m -XX:MaxPermSize=512m 
+0

Może sprawdzić, czy wszystkie wtyczki mieć najnowszą wersję? Jakie masz wtyczki? – marc

+0

Nie możemy Ci pomóc, jeśli nie powiesz nam, jaką skonfigurowaną wtyczkę rejestrujesz te wiadomości ServierConnectionImpl. Nie używasz maven-exec-plugin do uruchomienia własnego kodu, prawda? – bmargulies

+0

Dzięki za odpowiedź. @bmargulies: Nie korzystałem z wtyczki maven-exec. Użyłem weblogic-maven-plugin do procesu wdrażania. – Rocky

Odpowiedz

0

Bez bardziej iść dalej, ja zamierzam spekulować jesteś trafiony przez this issue with the weblogic maven plugin. Aby rozwiązać ten problem, upewnij się, że korzystasz z najnowszej wersji wtyczki. Jeśli to nie rozwiąże to wtedy myślę, że powinieneś spróbować dodanie następujących konfiguracji wtyczki Twojego POM za:

<noExit>true</noExit> 
<continueOnFailure>true</continueOnFailure> 

Pierwsza linia zatrzymuje WebLogic z wyjściem, a druga linia mówi wdrożeniowcowi aby kontynuować. Możesz spróbować dodać każde z osobna.

Jeśli żadna z powyższych opcji nie pomaga, oznacza to, że w ścieżce kodu znajduje się jeszcze jedna pozycja System.exit(). Może być konieczne podłączenie debuggera.

1

To jest bardzo stare pytanie, ale właśnie wpadłem na ten dziwny problem i kosztowało mnie to 3 godziny w debugowaniu konfiguracji zadań Jenkinsa i wtyczek Jenkinsa. Ta odpowiedź ma pomóc innym, jeśli spotkają się z tym samym.

Główna przyczyna: Dowiedziałem się, że jeden z programistów w moim zespole użył w swoim kodzie java kodu system.exit(0); , więc rzeczywisty problem był związany z kodem, a nie z pracą z Jennkinsem.

Rozwiązanie: Usuń

system.exit(0); 
+0

Aswsome .. Stawiłem czoła dokładnemu problemowi .. głosowanie na ciebie –