Packaging and Deploying a Desktop Java Application which uses embedded derby database
Packaging and Deploying a Desktop Java Application which uses embedded derby database
We have already discussed about creating an embedded derby database .For those who are here for the first time check this first
so that it might be easier. So before coming to packaging first we
will create a desktop application in java with netbeans as an example
for checking the packaging issues.
First we need an embedded db for creating this application .I am not elaborating as we have discussed it in my previous post
in detail. It is necessary to have at-least 1 column set as primary
key.For example create a database named db_data with 1 table named as
table1 with 2 columns col1 and col2. Let col1 be set to primary key.
After all this insert 2 rows into it and disconnect the db . If you
already have an embedded db create a skelton of it in netbeans and with
that create the desktop application. Later while including the db
include your desired db file along with exe file.
Creating the sample desktop application
From File->New Project->under Java->choose Java Desktop Application.
Click next and give a project name for instance 'DeskApp' is our project.
Under Choose application shell choose database application and click next.
Select the database url you just created and under cloumns to include
choose all columns(we have only 2 columns now you can change it
according to your need), click next and finish.
Now you have your DeskApp in the projects window.
Right click on DeskApp and select Clean and build. After this choose Files where you will see the files and libraries included in your application. There is a dist folder which contains your jar and lib files .This is created while you build your project.
Normally the jar file is only necessary to launch an application. But
here we have dependent lib folder and the database file which should be
included so first we package the lib into the jar folder created so that
we have a single jar and the database file. For this, you will see a build.xml file under your project . In this xml code, just before closing </project> paste the code in the below site.
For reading about this further check this site.
(change the line in the above code to name of your project <property name="store.jar.name" value="DeskApp"/> now that it is DeskApp)
Save your project and right click build.xml->RunTarget->OtherTarget->package for storage as seen in the screen shot in here
project files |
This is what we need for packaging.
Creating an exe file for your jar file
Download and install any converter that does this. I used Launch4j for
this purpose which is an open source software. Once you have downloaded
and installed launch4j start it on your PC. Before beginning, create a NewFolder and copy your jar file (in the store folder of your project) and your db_data file
(after disconnecting from netbeans move to the folder containing your
embedded db file and copy this file to newly created folder under
another folder say DB) into it. If you like to have an icon, add any icon file(.ico format). You can convert it here.
Now you have
Building wrapper |
NewFolder
-> DeskApp.jar
-> DB
->db_data
->Tulips.ico
Once you start your launch4j , under the Basic tab, browse for output file and save it for instance win.exe.(eg ..\NewFolder\win.exe)
Browse for the jar file you copied just now(DeskApp.jar under NewFolder) in *jar. In the icon field browse and choose your icon. You can leave all other fields empty .
Now jump to the jre tab and fill the minimum jre version say 1.4.0(as you want it to be) and select the Build Wrapper tool on top .
Once you select this give a name say config for the file to be saved. When your log says succesfully created the file select the Test wrapper next to Build Wrapper .Now you have your exe file in the folder you selected
Browse for the jar file you copied just now(DeskApp.jar under NewFolder) in *jar. In the icon field browse and choose your icon. You can leave all other fields empty .
Now jump to the jre tab and fill the minimum jre version say 1.4.0(as you want it to be) and select the Build Wrapper tool on top .
Testing wrapper |
Once you select this give a name say config for the file to be saved. When your log says succesfully created the file select the Test wrapper next to Build Wrapper .Now you have your exe file in the folder you selected
NewFolder
-> DeskApp.jar
-> DB
->db_data
->Tulips.ico
->win.exe
->config
->config
There might be easier and efficient ways of doing this but right now I used the Inno setup compiler .I think its simpler for beginners.
Once you have this installed in your system start it. First you will find a welcome window under that choose only Create a new script file using the script wizard and then click OK
Once you have this installed in your system start it. First you will find a welcome window under that choose only Create a new script file using the script wizard and then click OK
The Inno set up Script wizard appears on this.
Click next and fill the details of your application your company profile etc where only name of your application and its version is necessary.
On next page specify where you want your application to be installed (normally it will be in program files) you can also give a folder name for your application (which is recommended) and check allow user to change folder.
Next you have to choose the exe file you created just now using launch4j.
Below that you will see Add folder .Browse and add the main DB folder .Select yes for should subfolders be included?
In application documentation you can include text files for license etc(not mandatory).
Choose your language and click next .
There you can choose a folder where you want your set up file to reside under Custom compiler output folder and the icon file used for exe file(you can have another image).
Finish the wizard.
Click next and fill the details of your application your company profile etc where only name of your application and its version is necessary.
On next page specify where you want your application to be installed (normally it will be in program files) you can also give a folder name for your application (which is recommended) and check allow user to change folder.
Next you have to choose the exe file you created just now using launch4j.
Below that you will see Add folder .Browse and add the main DB folder .Select yes for should subfolders be included?
In application documentation you can include text files for license etc(not mandatory).
Choose your language and click next .
There you can choose a folder where you want your set up file to reside under Custom compiler output folder and the icon file used for exe file(you can have another image).
Finish the wizard.
Choose yes when it asks would you like to compile the new script now ? and save the script before compiling .This can be useful later if you have to change the script.
After the compilation is done you can check the setup folder. Double
click the file and you can see your installer running.After all
installation is done you will see the desktop icon of your application .
You can double click and run your application from desktop (For windows
7 right click on icon and run as administrator) In control panel you
can also find your application under uninstall programs ,from where you
can remove it completely
Comments
Post a Comment