2010-04-29 12 views
5

Ich würde gerne wissen, ob es möglich ist, Java-Klassendateien zu implementieren, ohne den JBoss-Server neu zu starten. Ich benutze jboss v4.2.2.Java-Klassendateien bereitstellen, ohne JBoss neu zu starten

Auch wenn ich versuche, JSP-Dateien bereitzustellen, funktioniert es gut und Server nimmt die Änderungen fast sofort auf.

Vielen Dank im Voraus :)

Antwort

2

Ich bin besser mit Tomcat als JBoss, aber es sollte möglich sein (wie in Tomcat) die Anwendung neu starten, ohne dass der App-Server neu zu starten. Wenn der Server einen "Entwicklungsmodus" hat und dieser aktiv ist, sollte es möglich sein, einen App-Neustart einfach durch touch ing WEB-INF/web.xml auszulösen, d. H. Seinen Zeitstempel zu aktualisieren. Das sollte Ihre zuvor ersetzte Klassendatei laden.

+0

Vielen Dank für die Hinweis! Das macht tatsächlich den Trick. Hier finden Sie weitere Informationen: http://community.jboss.org/wiki/RedeployAnApplicationWhenChangeAFileInAnExplodedDeploymentDirectory – user315603

0

Theoretisch müssen Sie nie den gesamten Server neu starten, Sie starten nur bestimmte Anwendungen (ear-s) neu. JBoss (mit Standardeinstellungen) wird Ihr Ohr automatisch neu bereitstellen, wenn es Änderungen daran bemerkt. Kopieren Sie einfach die neue Version darüber.

Wenn Sie sie nicht verwenden bereits Besuche JBoss-Tools von Eclipse Plugins gesetzt, während der Entwicklung zu vereinfachen gesamten Prozess der entfaltet: http://www.jboss.org/tools

0

Ja, es ist möglich, Ihre Klassendateien neu zu implementieren, ohne zu stoppen und den Server jedes Mal starten.

Das einzige, was Sie tun müssen, ist eine Kreuzung oder ein symbolischer Link zum Anwendungsverzeichnis (in Eclipse ist normalerweise "WebContent") und setzen Sie den gewünschten Namen in Jboss.

Ich habe eine Schritt-für-Schritt-Anleitung here gemacht.

+0

Wie genau ist das gemeint? – Manticore

+0

Um einen symbolischen Link in Windows zu erstellen, lautet der Befehl: mklink/d NAME-OF-SYMBOLIC-LINK "NAME-OF-DIRECTORY" –

0

Stellen Sie die App als explodierten (project.war Ordner), in der web.xml hinzu:

<web-app> 
    <context-param> 
     <param-name>org.jboss.weld.development</param-name> 
     <param-value>true</param-value> 
    </context-param> 

überschreibt die web.xml jede Zeit Sie bereitstellen:

set PRJ_HOME=C:\Temp2\MyProject\src\main\webapp 
set PRJ_CLSS_HOME=%PRJ_HOME%\WEB-INF\classes\com\myProject 

set JBOSS_HOME= C:\Java\jboss-4.2.3.GA-jdk6\server\default\deploy\MyProject.war 
set JBOSS_CLSS_HOME= %JBOSS_HOME%\WEB-INF\classes\com\myProject 

copy %PRJ_CLSS_HOME%\frontend\actions\profile\ProfileAction.class %JBOSS_CLSS_HOME%\frontend\actions\profile\ProfileAction.class 
copy %PRJ_CLSS_HOME%\frontend\actions\profile\AjaxAction.class %JBOSS_CLSS_HOME%\frontend\actions\profile\AjaxAction.class 

ECHO.>>%JBOSS_HOME%\WEB-INF\web.xml 
Verwandte Themen