Clinton Blackmore
Clinton Blackmore

Reputation: 2497

Can I distribute a JDK with my application?

I am working on an application called Enchanting. The application, based on Scratch, emits Java source code and compiles it for uploading onto LEGO Mindstorms NXT Robots.

While the application is very early, users have a hard time installing it.

Right now Windows users have to:

If I could provide an installer that would include the JDK, and LeJOS, I could figure out the environment variables at run time, and the process becomes:

Is there a way to redistribute a JDK?

(Incidentally, Processing (a simplified text-based programming environment) seems to offer a version that comes with the JDK, so it appears that there is a legitimate way to do so).

Addendum: I would like a Windows user who does not have java installed to be able to run a single .exe file to install the JDK, LeJOS, and Enchanting.

Upvotes: 6

Views: 3566

Answers (4)

Eternal Noob
Eternal Noob

Reputation: 2807

The information regarding redistribution is here for Java 10 JDK and here for Java 8 JDK. Currently Java 8's is substantially more detailed than Java 10's.

and you can use PackJacket, to package all the files you need and create an installer.

Upvotes: 4

Allen
Allen

Reputation: 2258

Or you could just emit bytecode directly. You could bundle a much smaller (than the JDK) JVM dynamic language then use it to compile to bytecode or use libraries made for that purpose.

(I got the following from the Projects using Kawa page)

App Inventor for Android uses Kawa to translate its visual blocks language.

...The Nice compiler (nicec) uses Kawa's gnu.expr and gnu.bytecode packages to generate Java bytecode. ...

It's this last one is the one that uses the Kawa language framework to generate bytecode.

Don't forget about Groovy, Jython, Clojure, and Ruby. Interesting fact about Groovy, the interpreter can compile Java code since Groovy is (more or less) a superset of Java.

Upvotes: 0

drekka
drekka

Reputation: 21893

Quite a number of IBM Eclipse based tools have JDKs with them.

Upvotes: 0

Mark Elliot
Mark Elliot

Reputation: 77104

Assuming you satisfy all the legal terms required to distribute stuff, you can use izpack to install all the prerequisites, including a JDK/JVM and configuration of environment variables.

Upvotes: 0

Related Questions