Jump to content
Excelsior Forums
JohanS

Updatable Project

Recommended Posts

We are currently evaluating Excelsior Jet. but i came across a problem.

I created a project using Excelsior Jet. I created a Self-Contained folder using JetPackII and, at the end of the ride, I clicked create "Save as Updatable".

I updated one of the JAR files and replaced the original one. I ran JetPackII again and chose New Project -> Update package

It noticed the updated JAR and I completed the wizard. This resulted in an new directory with only my new JAR inside.

What am i supposed to do with this file? I copied it to my Excelsior program folder but he still uses the old version of my classes.

Other than that, very impressed!

Share this post


Link to post
Share on other sites

We are currently evaluating Excelsior Jet. but i came across a problem.

I created a project using Excelsior Jet. I created a Self-Contained folder using JetPackII and, at the end of the ride, I clicked create "Save as Updatable".

I updated one of the JAR files and replaced the original one. I ran JetPackII again and chose New Project -> Update package

It noticed the updated JAR and I completed the wizard. This resulted in an new directory with only my new JAR inside.

What am i supposed to do with this file? I copied it to my Excelsior program folder but he still uses the old version of my classes.

Other than that, very impressed!

You have to recompile the executable if you change a jar. And update package should contain updated executable not the jar.

Share this post


Link to post
Share on other sites

I was afraid for that answer. Currently compilation of the complete EXE takes 45 minutes.

We make use of alot of libraries that are static and almost never change. (iText, JGoodies, ...)

There is actually one core JAR that changes, is there a way you could only let this JAR recompile.

Share this post


Link to post
Share on other sites

I was afraid for that answer. Currently compilation of the complete EXE takes 45 minutes.

We make use of alot of libraries that are static and almost never change. (iText, JGoodies, ...)

There is actually one core JAR that changes, is there a way you could only let this JAR recompile.

I recommend you to employ multi-component model to resolve your problem. You may compile all your third-party jars in one DLL and the core jar into exe. This way recompilation of just an exe will be fast and update will be smaller.

For more information please read JET User's Guide -- http://www.excelsior-usa.com/doc/jet/jetw013.html#0372

Share this post


Link to post
Share on other sites

Hey Kit,

I was trying that. But, even if i include the DLL in JetPack II the applications doesn't seem to find the classes in the DLL.

I'll read de documentation at the link you provided and try again.

Thanks for the reply

Johan

Share this post


Link to post
Share on other sites

Hey Kit,

I tried your approach but i ran into another problem.

When I compile our project into one executable way. I have to select 'pack as a whole' for a certain JAR.

This results in a working application.

When I compile our project into one executable and one DLL. I also select 'pack as a whole' for the same JAR. (this jar is part of the EXE project)

But, judging from the error I get, this doesn't happen.

Can you come up with a reason why both methods behave differently?

Regards

Johan

Share this post


Link to post
Share on other sites

Hello Johan,

Did you include that JAR into the DLL as well? Note that you should compile a JAR into the only component (EXE or DLL).

Otherwise JAR packed into DLL could conflict with JAR packed into EXE.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×