1

Our customer wants us to ship his application with an embedded JVM. We tried to convince him otherwise but had no luck.

Now, here is the way we are contemplating taking. We want to take the Apache Harmony VM and libraries. We would then strip everything we don't need and ship the application with the bare minimum in terms of libraries.

My questions are thus:

1) Where can I find detailled explanations about the functionality provided by the different libraries (natives and classes) coming with a JVM?

2) How can i know if a JVM library file is needed or not?

I know the questions are a bit convoluted, but i hope somebody out there have done something similar.

Regards, Gregoire.

1
  • 2
    Why bother pruning the JVM at all? Commented Jul 5, 2010 at 16:29

3 Answers 3

3

It looks like you can also distribute the Sun JDK if you do not modify anything (I would consult a lawyer to be sure).

Whichever way you go I would not prune anything, that would make it more complicated if and when you needed to upgrade the client's software.

Sign up to request clarification or add additional context in comments.

1 Comment

Note that you may distribute the JRE, not the JDK. I also wouldn't worry too much about stripping it down, but if you look at the README file in the directory the JRE is installed, it discusses required and optional files when redistributing. The files that are optional can change with each version, so you'd have to consult this file for what exactly you can strip out.
1

The problem is not the license of Sun/Oracle, they allow redistribution of the Java Runtime Environment, so developers can embed it into their application installation packages.

However, the problem is export regulations. By law, you may not export parts of the JRE to certain countries, so you would have to check whether your customers are in the allowed list of countries before they can download your application package which includes the JRE. This for example applies to such things as the Java Cryptography.

Comments

0
  • Use a Sun JVM embedded within your application and start it with the invocation API. That way you could save some more diskspace :) IBM has an example source code how to start the JVM.
  • Try launch4j to bundle the JVM with your application and save some work.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.