powered by Jive Software

Source code from SVN - no executables?

I got the source code for Openfire from SVN and compiled my changes, but the executables (openfire, openfire.exe, openfire-service.exe) are missing in the target/bin directory.

Is it another ant build task? What am I missing?

The executables are built using install4j (Commercial product). You can obtain an evaluation license which will last you 60 days. To build the executables, just install install4j to program files… then run Ant installer from the command line like you would for compiling.

Correct! The executable is actually the openfire installation media for windows, which you can find in the target/release directory. When you run the installer, it will create openfire.exe and openfire-service.exe in the program files.

Thanks to both!

Well, I’ll just have to yank those from the binary distribution… Is there a licensing problem with that?

You mean your custom made executables? No problem if it’s for internal use and you don’t want to commercialize it. Otherwise, you’ll have to talk to Jive about it.

All right, I will

I am here! I have installed install4j and trying to compile openfire from source, but still generates openfire.sh file.

I am on Windows system and want to compile openfire for CentOS.

I can oprn the openfire project in install4j, there are various options , tried them but still it gives out the same file. Can you please assist in acquiring the desired results.


I have found a way out.

  1. Pull the “openfire” directory from /opt/openfire_src/target, [if you have compiled openfire source code from location /opt/openfire_src] , or whatever location it gives of “target” after compilation.

  2. Put this direcotry at /opt/ , hence we have HOME as /opt/openfire.

  3. Now, either give full permission to /opt/openfire direcotry and subdirectories [chmod -R 777 /opt/openfire]

and go to “/opt/openfire/bin/extra/redhat” and treat “openfire” as starter. [./openfire start]

and you can also stop it gracefully using ./openfire stop.


Create a user and group “jive” and and make the /opt/openfire as the ownership as “jive”. and go to “/opt/openfire/bin/extra/redhat” and treat “openfire” as starter. [./openfire start]

and you can also stop it gracefully using ./openfire stop.


… a .sh file is a linux shell file… so it will work on Centos.

I believe the install4j for linux target just makes a tar.gz file or something you can unpack/extract then copy the directory to your /opt directory. Then run the .sh file to start things up.

.sh is more-or-less an .exe for linux.

yes, you can start openrfire with ./openfire.sh, but you have no way of stopping that service other than killing java services. So deamon provided in openfire precompiled build helps to start and stop openfire gracefully and properly. So, my attempts were to create a similar way with self compiled openfire.

the service file you are refering to is just a shell/bash script file that gets symlinked to /etc/init.d/ during the openfire unpack/install.

In my source repo of openfire, I found the file located in openfire_src/target/openfire/bin and is called openfirectl

So basically just have that file get deployed with your custom installer/unpacker, then symlink it into /etc/init.d/ and then you should be able to do

~]# chkconfig --add openfirectl

~]# chkconfig openfirectl on

~]# service openfirectl start/stop/restart/status

I think the pre-packaged version either symlinks or renames openfirectl to openfire, allowing a simpler cmd line version:

~]# chkconfig --add openfire

~]# chkconfig openfire on

~]# service openfire start/stop/restart/status

To update the answer, you already have install4j file in:

…/Openfire\openfire_src\build\installer folder.

Just open it and create EXE. It will show up in …\target\release folder and just install it.

This is for windows.