2013-07-12 16 views
5

Mogę dodać JBoss 7 do zaćmienia w trybie autonomicznym, ale kiedy próbuję dodać serwer JBoss 7 w trybie domeny ścieżka do pliku konfiguracyjnego jest zawsze usuwana przez Eclipse w stosunku do oddzielnego folderu . Więc jeśli wstawię pełną ścieżkę do pliku domain.xml, to go nie lubię i jeśli po prostu wstawię nazwę pliku, to oponuje, aby rozwiązać to samodzielnie.Dodaj serwer JBoss 7 w trybie domeny do Eclipse

Wszelkie pomysły?

Dzięki w

Odpowiedz

1

formalnie nie obsługiwane rzeczywiście ... ale istnieje sposób, aby uruchomić i zatrzymać go od Eclipse, dzięki czemu można cieszyć się wszystkie logi serwera w konsoli Eclipse i start/stop ikony. Jednak nie będzie można korzystać z "uruchom jako -> uruchom na serwerze", ponieważ Eclipse nie będzie identyfikował serwera, na który kierujesz serwer procesów, kontroler hosta i instancje serwera głównego. Jest na to również lekarstwo, ponieważ EAP7 obsługuje "niezarządzany tryb wdrażania" w archiwach rozbitych, które mogą być celowane w katalogi kompilacji Eclipse/Maven, co pozwala na "odświeżanie" wdrożonych archiwów za pomocą poleceń włączania/wyłączania JBoss-cli lub JBoss konsola administracyjna (JBoss nie wykryje zmian .class i przeładuje ładowanie klasy ładującej ... musisz to wymusić). Wisienka na torcie, jeśli zdarzy ci się pracować z technologii web końcowych przedni GWT, ty can enjoy hot redeployment of your GWT artifacts via the CodeServer in SuperDevMode w instancji serwera trybie domeny ...

Oto jak postępować:

  • Zakładam masz JBoss Tools plug in zainstalowane Eclipse

  • Tworzenie „nowy serwer” na widoku "Servers zarówno w trybie autonomicznym i stworzyć JBoss że bierze domenę jako podstawowego serwera katalogu i domain.xml jak configurat plik jonowy. Wypełnij resztę i zapisz ją. W związku z tym serwer ten nie rozpocznie się poprawnie.

  • wybierz właśnie utworzony serwer i kliknij prawym przyciskiem myszy "otwórz". W panelu Przegląd, który wypełnia główne okno Eclipse, kliknij podkreślony link "Otwórz konfigurację uruchamiania",

  • Musisz dostosować konfigurację uruchamiania tak, aby była zgodna z rzeczywistym uruchomieniem domeny domain.bat/domain.sh. Musisz więc zaktualizować długie argumenty programu i maszyny wirtualnej, jak wyjaśniono poniżej. Zmodyfikuj wszystkie ciągi ścieżek zilustrowane poniżej, aby dopasować je do Twojego środowiska, np. "/ jBOSS/EAP70/domain" może stać się "/ projects/jb/as7/domain" w twoim kontekście ...i tak dalej

  • nie zapomnij sprawdzić OUT opcja 'Zawsze aktualizuj argumenty związane z wykonywania'

argumenty Program:

-mp "C:/jBOSS/EAP70/modules" org.jboss.as.process-controller -jboss-home "C:\jBOSS\EAP70" -jvm "C:\java\JDK8U66\jre\bin\java" -mp "C:/jBOSS/EAP70/modules" -- "-Dorg.jboss.boot.log.file=C:/jBOSS/EAP70/domain/log/boot.log" "-Dlogging.configuration=file:/C:/jBOSS/EAP70/domain/configuration/logging.properties" -Xms64M -Xmx512M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -server -- -default-jvm "C:\java\JDK8U66\jre\bin\java" 

VM argumenty:

-Xms64M -Xmx512M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -server "-Dorg.jboss.boot.log.file=C:/jBOSS/EAP70/domain/log/boot.log" "-Dlogging.configuration=file:/C:/jBOSS/EAP70/domain/configuration/logging.properties" -cp "C:\jBOSS\EAP70\jboss-modules.jar" -Djboss.home.dir=C:/jBOSS/EAP70 -Djboss.bind.address.management=localhost 

katalog roboczy: C:/JBoss/EAP70/bin (oczywiście dostosować do wartości równoważnych ścieżek w kontekście)

główne klasy: org.jboss.modules.Main

Classpath: Library (bootstrap) System JRE + (wpisy użytkownika) JBoss-modules.jar

A ty zrobiłeś. Zauważ, że w celu zatrzymania serwera czerwony przycisk zatrzymania widoku Serwery nie działa i zamiast tego musisz użyć podobnego, wyglądającego czerwonego przycisku w widoku konsoli (który zabija proces na żywo java uruchomiony w konsoli, tutaj kontroler procesu JBoss, który z kolei zatrzymuje wszystko).

Jeśli jesteś ciekaw, aby zrozumieć, gdzie sztuką jest ... (czytaj dalej)

W dłuższej linii poleceń java, jest rozdzielenie wokół głównego klasy Java, aby uruchomić, gdzie „argumenty VM "stoją po prawej stronie i" argumenty programowe "po lewej stronie. Możesz przechwycić rzeczywistą kompletną linię poleceń java, która uruchamia twój serwer w trybie domeny za pomocą narzędzia, takiego jak procesor Microsoft sysinternals 'process-explorer w systemie Windows lub polecenie powłoki "ps -eaf" lub "pargs" w LINUX/UNIX, po uruchomiłeś jBOSS z domain.bat lub domain.sh.

Ale zauważysz tutaj, że polecenie java przyjmuje argument "-jar module.jar", podczas gdy uruchomienie Eclipse wymaga konwencjonalnej postaci argumentu "-cp module.jar main-class". Argument "-jar" jest rzeczywiście wariantem specyfikacji, w którym główna klasa jest określona przez plik manifestu wewnątrz słoika.

W moim przypadku (bardzo długo) linia poleceń I zrobione z klasycznym domain.sh lub domain.bat launch był:

C:\jBOSS\EAP70\bin>"C:\Program Files\Java\jre1.8.0_66\bin\java" -Xms64M -Xmx512M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -server "-Dorg.jboss.boot.log.file=C:\jBOSS\EAP70\domain\log\process-controller.log" "-Dlogging.configuration=file:C:\jBOSS\EAP70\domain\configuration/logging.properties" -jar "C:\jBOSS\EAP70\jboss-modules.jar" -mp "C:\jBOSS\EAP70\modules" org.jboss.as.process-controller -jboss-home "C:\jBOSS\EAP70" -jvm "C:\Program Files\Java\jre1.8.0_66\bin\java" -mp "C:\jBOSS\EAP70\modules" -- "-Dorg.jboss.boot.log.file=C:\jBOSS\EAP70\domain\log\host-controller.log" "-Dlogging.configuration=file:C:\jBOSS\EAP70\domain\configuration/logging.properties" -Xms64M -Xmx512M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -server -- -default-jvm "C:\Program Files\Java\jre1.8.0_66\bin\java" 

który rozkłada się następująco:

JAVA_COMMAND>> "C:\Program Files\Java\jre1.8.0_66\bin\java" 

następnie przez

VM_ARGS_____>> -Xms64M -Xmx512M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -server "-Dorg.jboss.boot.log.file=C:\jBOSS\EAP70\domain\log\process-controller.log" "-Dlogging.configuration=file:C:\jBOSS\EAP70\domain\configuration/logging.properties" 

następuje:

MAIN_CLASS__>> -jar "C:\jBOSS\EAP70\jboss-modules.jar" 

, którego odpowiednik zostanie przepisany (wgląd w manifest modułów jboss.jar):

MAIN_CLASS__>> -cp "C:\jBOSS\EAP70\jboss-modules.jar" org.jboss.modules.Main 

następnie końcowym fragmencie:

PROGRAM-ARGS>> -mp "C:\jBOSS\EAP70\modules" org.jboss.as.process-controller  -jboss-home "C:\jBOSS\EAP70" -jvm "C:\Program Files\Java\jre1.8.0_66\bin\java"   -mp "C:\jBOSS\EAP70\modules" -- "-Dorg.jboss.boot.log.file=C:\jBOSS\EAP70\domain\log\host-controller.log" "-Dlogging.configuration=file:C:\jBOSS\EAP70\domain\configuration/logging.properties" -Xms64M -Xmx512M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -server -- -default-jvm "C:\Program Files\Java\jre1.8.0_66\bin\java" 

Z punktu to zrozumieć dość zaskakujący punkt argumentu programu, który replikuje wielu aguments VM (ponieważ uruchomiony sterownik proces ma wywoływać JVM serwera z tymi argumentami ...), można następnie zmapować elementy w konfiguracji uruchamiania serwera Eclipse.

+0

Jeśli chcesz DEBUG wdrożenie w instancji serwera trybu domeny, zobacz http://stackoverflow.com/questions/19888666/jboss-eap-6-configure-single-server-for-remote-debugging-in- tryb domeny – berhauz