Mam projekt Java "Project A", który działa na JBoss 8.2 (Wildfly). Używam Intellij do opracowania i uruchomienia projektu na lokalnym Wildfly (przy użyciu konfiguracji uruchamiania). To działa dobrze.
Mam drugi projekt Java "Projekt B", który jest prostą biblioteką używaną przez Projekt A. Mam następujący wpis w pliku build.gradle Projektu A:
compile project(":ProjectB")
Jeśli uruchomię Projekt A (który uzyskuje dostęp do Projektu B) w środowisku wykonawczym Intellij java (NIE na lokalnym serwerze), działa dobrze. Projekt A nazywa projekt B bez żadnych problemów.
Jeśli uruchomię projekt A na lokalnym locie (używając mojej konfiguracji uruchamiania), otrzymam "NoClassDefFoundError" odnoszące się do Projektu B.
Jaki jest najlepszy sposób na wdrożenie Projektu B na dzikiej zwierzynie, podczas gdy ja prowadzę Projekt A? Wielkie dzięki za pomoc z góry!
Odpowiedzi:
0 dla odpowiedzi № 1Dodaj swój jar (moduł b) jako moduł na lokalnym autonomicznym serwerze, na którym działasz i dodaj do niego zależność w projekcie A.
Edytować : kroki, aby dodać moduł: http://www.mastertheboss.com/jboss-server/jboss-as-7/how-to-install-a-module-on-jboss-as-7
Mój module.xml jest jak poniżej
<?xml version="1.0"?>
<module xmlns="urn:jboss:module:1.1" name="testsinglejar.specificpackage">
<resources>
<resource-root path="specificpackage-0.0.1.jar" /> <!-- Insert resources here -->
</resources>
<!--
<dependencies>
<module name="org.slf4j" />
<module name="javax.api" />
</dependencies>
-->
</module>
a następnie w twoim projekcie edytuj jboss-deployment-structure.xml
<?xml version="1.0" encoding="utf-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="testsinglejar.specificpackage" />
</dependencies>
</deployment>
</jboss-deployment-structure>
Oprócz tego, aby uruchomić w Eclipse bezpośrednio, możesz zrobić, jak poniżej