Installing JBoss is simple.
It is important to make sure it is the JDK and not the JRE as the compiler is required for JSPs and other functions.
JBoss 3.2.6 appears to require JDK 1.4.2 or better. Main.boot():98 calls java.net.URLDecoder.decode(String s, String enc), which is present in 1.4.2 but not in 1.3.1. This was corrected for the 3.2.7 release which compiles and runs under jdk 1.3
Unzip the sources into a directory that does not contain spaces anywhere in the path. (Meaning do not put it in C:\Program Files\bla)
Examine the JBossDirectoryStructure.
make sure JAVA_HOME is set
on Linux: export JAVA_HOME=/path/to/j2sdk-1.4.2_0x
on Windows (NT based): right click on My Computer, click on Advanced, click on set Environment Variables. Set JAVA_HOME. Example: JAVA_HOME = C:\progra~1\j2sdk1.4.2_03 remember no spaces.
change directory to the location that you installed JBoss
change directory to the bin directory
execute either the run.sh or run.bat
congratulations, you are running the default configuration!
JBoss comes with 3 different configurations which you specify by passing a -c variable:
default - run with no parameters or with "-c default"
basic J2EE/EJB support with integrated Tomcat
minimal - run with "-c minimal"
minimal jmx kernel support (with a JNDI server - CAUTION: EJBs will not deploy in this config !)
all - run with "-c all"
includes everyting from default plus JBoss.NET for web services, and larger scale services such as clustering and IIOP.
The configurations are under server/xxx and have their own tree with conf, deploy, and lib. To deploy your applications you need to take note of which configuration you are running and put them in the appropriate deploy directory.
To shut down JBoss, run bin/shutdown(.sh/.bat) or press ctrl-c in the running terminal window. Alternatively, there are methods to shut down JBoss in the JMXConsole.
Notes on Running JBoss with JDK 1.3.x
JBoss distributions downloadable from the website may be compiled using newer JDK 1.4.x versions. This has caused problems trying to run the binaries at least with some older JDK 1.3.x versions. Most often these problems manifest themselves at JVM level
To workaround these possible bytecode incompatibilities you will have to rebuild the server from a source checkout using JDK 1.3.x. JBoss 3.2.x series is compatible with JDK 1.3.x and can be compiled with its Java compiler (JBoss 4.x will require JDK 1.4).
If you find that you get errors (not warnings!) from the compiler trying to create the 3.x server binaries using JDK 1.3.x, please report it as a bug.
Notes on default ports for JBoss 4.0.3 (applies to others)
The default port used for the naming service (1098) is often used by Yahoo Instant messenger. This problem shows up as a JVM Bind error early on in startup, and the server will not operate properly. The easiest solution is to stop all your instant messengers, start JBoss AS, and then start up your instant messenger clients (they will happily work out another port to use). If you suffer for other port collisions, especially on Windows, you can use any of the free tools to tell you what application is using that port (Active Ports worked fine for me).
Installing jboss 3.2.3 as a windows service
Invoking startdatabasemanager via jmx-console doesn't work in this configuration (for Hypersonic) It doesn't work either in the configuration of RunJBossAsAServiceOnWindows which is almost the same.
It runs with run.bat with the same system, config etc. though. Make sure the database manager MBean is uncommented in your deploy/hsqldb-ds.xml, it is disabled in the current distribution versions of JBoss
Getting and building from source
You need to checkout the correct branch/version of the JBoss module from the
CVSRepository. Released versions are tagged using the syntax:
JBoss_major_minor_patch (e.g., JBoss_3_0_8, JBoss_3_2_4).
A pre-release tag will have an additional suffix (e.g., JBoss_3_2_3_4_RC2).
Branch tags are of the form Branch_major_minor (e.g., Branch_2_4, Branch_3_0, Branch_3_2).
The CVS module name to checkout depends on which branch you are interested in.
For 3.0 and latter it is jboss-major.minor (e.g., jboss-3.0, jboss-3.2), with the exception being the main branch whose module is jboss-head. Also, the module
jboss-all is an alias for jboss-3.0 and remains fixed to this branch for backward compatibility with previous build instructions for 3.0.
Once you have the source, cd into the build directory and run the build.sh or
build.bat script as approriate for you OS.
Example of building the 4.0.1 release
cvs -z3 -d:pserver:email@example.com:/cvsroot/jboss login cvs -z3 -d:pserver:firstname.lastname@example.org:/cvsroot/jboss co -r JBoss_4_0_1 jboss-4.0 cd jboss-4.0/build build
Example of building the 3.2.4 release
cvs -z3 -d:pserver:email@example.com:/cvsroot/jboss login cvs -z3 -d:pserver:firstname.lastname@example.org:/cvsroot/jboss co -r JBoss_3_2_4 jboss-3.2 cd jboss-3.2/build build
Example of building the 3.2 branch
cvs -z3 -d:pserver:email@example.com:/cvsroot/jboss login cvs -z3 -d:pserver:firstname.lastname@example.org:/cvsroot/jboss co -r Branch_3_2 jboss-3.2 cd jboss-3.2/build build
Example of building the 3.0.8 release
cvs -z3 -d:pserver:email@example.com:/cvsroot/jboss login cvs -z3 -d:pserver:firstname.lastname@example.org:/cvsroot/jboss co -r JBoss_3_0_8 jboss-3.0 cd jboss-3.0/build build
Example of building the HEAD branch
cvs -z3 -d:pserver:email@example.com:/cvsroot/jboss login cvs -z3 -d:pserver:firstname.lastname@example.org:/cvsroot/jboss co jboss-head cd jboss-head/build build