jsf 1.2
richfaces 3.3
seam 2
a mix of ejb2 and ejb3
jboss trinity 4.2.2.GA
sun java 1.6.0_26 (64-bit)
ubuntu linux 12.04
NOTE: you do not have to install jboss tools or any additional plugins after a clean install of eclipse in order to debug your project on jboss in eclipse, however you might want to install additional useful plugins like JRebel and JBoss JSF support
all you have to do in order to start your server in debug mode in eclipse is to configure your jboss server in eclipse:
find the Servers tab
new > server > jboss v4.2 > finish
(
UPDATE for Eclipse Juno
new > server > jboss v4.2 > next
set the Application Server Directory value:
/your_server_root/appservers/jboss
e.g.
/usr/jboss
Finish
)
now double click your new server JBoss v4.2 at localhost.
i increased the Timeouts > Start (in seconds) from 50 to 120 (just in case) and the Stop (in seconds) from 15 to 30.
i set Server Properties > Address to 0.0.0.0 so other people on the network can connect to my server.
set the correct port, e.g. for my project i use: 8080
if you've installed the JRebel plugin, then check the box that says "Enable JRebel agent"
click the Runtime Environment link and set the Application Server Directory to your jboss home, e.g. mine is /usr/jboss
click the Open launch configuration link and choose the Arguments tab. i got the values for Program arguments and VM arguments by first running jboss the normal way, from the console in the /usr/jboss/bin folder (outside of eclipse):
cd /usr/jboss/bin
./runMyJbossDomain.sh
runMyJbossDomain.sh is just a personalized version of run.sh, in the same folder, and looks like this:
echo "deleting log files..."
rm -rf /usr/jboss/server/mydomain/conf/my-config/logs/*
echo "deleting temp files in mydomain..."
rm -rf /usr/jboss/server/mydomain/log/*
rm -rf /usr/jboss/server/mydomain/tmp/*
rm -rf /usr/jboss/server/mydomain/work/*
rm -rf /usr/jboss/server/mydomain/data/*
/usr/jboss/bin/run.sh -b 0.0.0.0 -c mydomain
then i grep java processes in another terminal to get the correct/working java options:
ps aux|grep java
which gives an output like this:
/usr/lib/jvm/java-6-sun/bin/java -Dprogram.name=run.sh -server -Xms128m -Xmx512m -XX:MaxPermSize=128m -XX:PermSize=128m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dorg.jboss.logging.Log4jService.catchSystemOut=false -Djava.net.preferIPv4Stack=true -Djava.endorsed.dirs=/usr/jboss/lib/endorsed -classpath /usr/jboss/bin/run.jar:/usr/lib/jvm/java-6-sun/lib/tools.jar org.jboss.Main -b 0.0.0.0 -c mydomain
so the value for Program arguments in Open launch configuration > Arguments:
-c mydomain -b 0.0.0.0
and VM arguments:
-Dprogram.name=run.sh -server -Xms128m -Xmx512m -XX:MaxPermSize=128m -XX:PermSize=128m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dorg.jboss.logging.Log4jService.catchSystemOut=false -Djava.net.preferIPv4Stack=true -Djava.endorsed.dirs=/usr/jboss/lib/endorsed -classpath /usr/jboss/bin/run.jar:/usr/lib/jvm/java-6-sun/lib/tools.jar org.jboss.Main
in the Source tab, add your project:
Add > Java Project > select your project, OK
in the JRE tab, make sure the JRE is correct, e.g. java-6-sun-1.6.0.26
click OK then ctrl-s in the server configuration window (if it has a star by the name in the tab), i.e. if the tab looks like this: *JBoss v4.2 at localhost
(NOTE: build your project if you haven't already)
now you're up and running (debugging) =)
No comments:
Post a Comment