Discussion:
Bundle JDK in my app
(too old to reply)
Iony
2013-03-13 12:13:28 UTC
Permalink
Hello,

Is it possible to bundle the full JDK7 (not JRE) in my application ?
Should I include the full JDK or am I allow to include only binaries in order to reduce the size ?

thank you
markspace
2013-03-13 16:25:07 UTC
Permalink
Post by Iony
Hello,
Is it possible to bundle the full JDK7 (not JRE) in my application ?
I'm honestly not sure what you mean by bundle here. Care to elaborate?
Post by Iony
Should I include the full JDK or am I allow to include only binaries
Again I don't understand "allow" here, but you should certainly only
include those components you actually need. Why do otherwise?
Roedy Green
2013-03-13 18:34:38 UTC
Permalink
On Wed, 13 Mar 2013 09:25:07 -0700, markspace
Post by markspace
I'm honestly not sure what you mean by bundle here. Care to elaborate?
bundle just means wrap pieces into a single download.
--
Roedy Green Canadian Mind Products http://mindprod.com
Software gets slower faster than hardware gets faster.
~ Niklaus Wirth (born: 1934-02-15 age: 79) Wirth's Law
Lew
2013-03-13 21:11:18 UTC
Permalink
Post by Roedy Green
Post by markspace
I'm honestly not sure what you mean by bundle here. Care to elaborate?
bundle just means wrap pieces into a single download.
Was that what the OP meant?

Do you believe them incapable of speaking for themselves?
--
Lew
Roedy Green
2013-03-14 15:26:26 UTC
Permalink
Post by Lew
Was that what the OP meant?
The usual meaning is relevant information whether no matter whan OP
intended.
Post by Lew
Do you believe them incapable of speaking for themselves?
I did nothing to block anyone from speaking. You looking for excuses
to find fault. You are like some character in a fairy tale.
--
Roedy Green Canadian Mind Products http://mindprod.com
Software gets slower faster than hardware gets faster.
~ Niklaus Wirth (born: 1934-02-15 age: 79) Wirth's Law
Lew
2013-03-14 20:59:05 UTC
Permalink
Post by Roedy Green
Post by Lew
Was that what the OP meant?
The usual meaning is relevant information whether no matter whan OP
intended.
But it wasn't the OP's question you were answering.
Post by Roedy Green
Post by Lew
I'm honestly not sure what you mean by bundle here. Care to elaborate?
It was a request specifically for the OP's intent.

So in fact your answer was useless.
Post by Roedy Green
Post by Lew
Do you believe them incapable of speaking for themselves?
I did nothing to block anyone from speaking.
You did nothing to help the person who asked the question.
Post by Roedy Green
You looking for excuses to find fault.
You're looking for excuses to justify yourself and avoid responsibility.
Post by Roedy Green
You are like some character in a fairy tale.
Prince Charming.

Thank you for the compliment.
--
Lew
Roedy Green
2013-03-17 18:02:11 UTC
Permalink
Post by Lew
You did nothing to help the person who asked the question.
So what. This is not a help desk. We are talking to a much larger
audience. All O.P. does is provide some fodder for discussion.
My model is more like a Q&A session at the PC User club. You don't
just answer the question. Otherwise you audience falls asleep at the
irrelevancy to them. You provide background so everyone can understand
the question. You answer related question that may be of more general
interest. You use it as an excuse to explain the general area.

Do you really in think larding every response with an insult "helps"
people? No. It just discourages them. You have probably turned more
people off computer science than any other human.
--
Roedy Green Canadian Mind Products http://mindprod.com
The computer programmer is a creator of universes for which he alone
is the lawgiver. No playwright, no stage director, no emperor, however
powerful, has ever exercised such absolute authority to arrange a stage
or a field of battle and to command such unswervingly dutiful actors or
troops.
~ Joseph Weizenbaum (born: 1923-01-08 died: 2008-03-05 at age: 85)
Yoni
2013-03-14 08:48:03 UTC
Permalink
Post by markspace
I'm honestly not sure what you mean by bundle here. Care to elaborate?
I want to create a single package that contains JDK + libraries + my app.
The user download it and install it without have to care about JDK, external libraris etc...
The only thing that the user has to do is "download and click".

Thank you
John B. Matthews
2013-03-14 11:12:04 UTC
Permalink
Post by Yoni
I want to create a single package that contains JDK + libraries + my
app. The user download it and install it without have to care about
JDK, external libraris etc... The only thing that the user has to do
is "download and click".
"Java Web Start software automatically downloads and installs the
correct version of the Java platform as necessary based on the
application's needs and the user's environment."

<http://docs.oracle.com/javase/tutorial/deployment/webstart/index.html>
--
John B. Matthews
trashgod at gmail dot com
<http://sites.google.com/site/drjohnbmatthews>
Roedy Green
2013-03-14 15:28:57 UTC
Permalink
On Thu, 14 Mar 2013 07:12:04 -0400, "John B. Matthews"
Post by John B. Matthews
"Java Web Start software automatically downloads and installs the
correct version of the Java platform as necessary based on the
application's needs and the user's environment."
<http://docs.oracle.com/javase/tutorial/deployment/webstart/index.html>
if you don't need javac.exe, this is by far the easiest approach. You
can think of JWS as a built in installer and updater.
--
Roedy Green Canadian Mind Products http://mindprod.com
Software gets slower faster than hardware gets faster.
~ Niklaus Wirth (born: 1934-02-15 age: 79) Wirth's Law
Nigel Wade
2013-03-14 16:42:10 UTC
Permalink
Post by markspace
Post by Iony
Hello,
Is it possible to bundle the full JDK7 (not JRE) in my application ?
I'm honestly not sure what you mean by bundle here. Care to elaborate?
Post by Iony
Should I include the full JDK or am I allow to include only binaries
Again I don't understand "allow" here, but you should certainly only include those components you actually need. Why do
otherwise?
Because the license terms for the Oracle JDK restrict what you are allowed to redistribute.
--
Nigel Wade
Roedy Green
2013-03-16 00:24:21 UTC
Permalink
Post by Nigel Wade
Because the license terms for the Oracle JDK restrict what you are allowed to redistribute.
One of the advantages of distributing an installer that goes and gets
the JVM is you bypass any restrictions on what you can bundle. All
you are doing is an assisted install. It also ensures you don't
pollute the universe with obsolete JVMs.
--
Roedy Green Canadian Mind Products http://mindprod.com
The computer programmer is a creator of universes for which he alone
is the lawgiver. No playwright, no stage director, no emperor, however
powerful, has ever exercised such absolute authority to arrange a stage
or a field of battle and to command such unswervingly dutiful actors or
troops.
~ Joseph Weizenbaum (born: 1923-01-08 died: 2008-03-05 at age: 85)
Nigel Wade
2013-03-18 09:15:11 UTC
Permalink
Post by Roedy Green
Post by Nigel Wade
Because the license terms for the Oracle JDK restrict what you are allowed to redistribute.
One of the advantages of distributing an installer that goes and gets
the JVM is you bypass any restrictions on what you can bundle. All
you are doing is an assisted install. It also ensures you don't
pollute the universe with obsolete JVMs.
If you bothered to read the thread you'd have known that the issue is components of the JDK, not the JVM. If you'd even
read my post properly you should have realized that.

JDK != JVM

and has different re-distribution rights.
--
Nigel Wade
Roedy Green
2013-03-13 18:20:15 UTC
Permalink
Post by Iony
Is it possible to bundle the full JDK7 (not JRE) in my application ?
Should I include the full JDK or am I allow to include only binaries in order to reduce the size ?
You might distribute an installer than downloads and installs the JRE
if it is not already installed. There would be no reason to bundle
the JDK. You only need that if you are a developer, and you would not
want anyone installing a JDK on you.

see http://mindprod.com/jgloss/jdk.html
http://mindprod.com/jgloss/jre.html

Also see JET
http://mindprod.com/jgloss/jet.html

It can bundle just the machine code equivalent of the parts of the JRE
you use.
--
Roedy Green Canadian Mind Products http://mindprod.com
Software gets slower faster than hardware gets faster.
~ Niklaus Wirth (born: 1934-02-15 age: 79) Wirth's Law
Yoni
2013-03-14 08:44:21 UTC
Permalink
Post by Roedy Green
You might distribute an installer than downloads and installs the JRE
if it is not already installed. There would be no reason to bundle
the JDK. You only need that if you are a developer, and you would not
Hello Roedy,

Thank you for your answer.
Actually my application permits to create some java code and compile it, to compile I need JDK not JRE, this is the reason I would like to bundle it.

thank you
Roedy Green
2013-03-14 15:24:10 UTC
Permalink
Post by Yoni
Actually my application permits to create some java code and compile it, to compile I need JDK not JRE, this is the reason I would like to bundle it.
I trust you are aware of http://mindprod.com/jgloss/javacompiler.html

You must be careful about installing a JDK. Make sure you have the
user's informed consent. It is big. It needs go to the drive when he
wants it. You should be installing the latest. You should not be
downloading or installing if it is already there. It has some user
interaction. I have heard of "silent" installs but I have no
experience with them.

My preference would be to decide if my current JDK was acceptable. If
not, ask me permission to upgrade/install. Download, exec, hand over
control to me to run the JDK install. When done ask me if it worked
and check yourself if it worked by checking for the presence of key
files and some registry entries. Then carry on with the rest of the
install.

See http://mindprod.com/jgloss/installer.html
--
Roedy Green Canadian Mind Products http://mindprod.com
Software gets slower faster than hardware gets faster.
~ Niklaus Wirth (born: 1934-02-15 age: 79) Wirth's Law
markspace
2013-03-14 16:31:20 UTC
Permalink
Thank you for your answer. Actually my application permits to create
some java code and compile it, to compile I need JDK not JRE, this is
the reason I would like to bundle it.
Have you looked at the compiler API? That requires the tools.jar in
your classpath; much easier I think than trying to install the JDK.

<http://docs.oracle.com/javase/7/docs/api/javax/tools/JavaCompiler.html>

<http://stackoverflow.com/questions/5600213/using-java-compiler-api-without-requiring-install-of-jdk>
Roedy Green
2013-03-15 00:00:21 UTC
Permalink
On Thu, 14 Mar 2013 09:31:20 -0700, markspace
Post by markspace
Have you looked at the compiler API? That requires the tools.jar in
your classpath; much easier I think than trying to install the JDK.
Tools.jar is part of the JRE automatically. One easy way to
effectively put it on the classpath is to put a copy in the ext dir.

I am quite astounded to learn that API just requires the JRE. I would
have thought it needed javac.exe.
--
Roedy Green Canadian Mind Products http://mindprod.com
The computer programmer is a creator of universes for which he alone
is the lawgiver. No playwright, no stage director, no emperor, however
powerful, has ever exercised such absolute authority to arrange a stage
or a field of battle and to command such unswervingly dutiful actors or
troops.
~ Joseph Weizenbaum (born: 1923-01-08 died: 2008-03-05 at age: 85)
Nigel Wade
2013-03-14 09:30:59 UTC
Permalink
Post by Iony
Hello,
Is it possible to bundle the full JDK7 (not JRE) in my application ?
You should abide by the conditions set out in the license for the JDK.
Post by Iony
Should I include the full JDK or am I allow to include only binaries in order to reduce the size ?
The terms for the Oracle JDK are here:

http://www.oracle.com/technetwork/java/javase/readme-142177.html#redistribution

The license terms for other JDK will probably be different. I expect OpenJDK will be more "open".
--
Nigel Wade
Knute Johnson
2013-03-14 17:20:19 UTC
Permalink
Post by Iony
Hello,
Is it possible to bundle the full JDK7 (not JRE) in my application ?
Should I include the full JDK or am I allow to include only binaries in order to reduce the size ?
thank you
Just read the license agreement:

C. LICENSE TO DISTRIBUTE SOFTWARE. Subject to the terms and conditions
of this Agreement and restrictions and exceptions set forth in the
README File, including, but not limited to the Java Technology
Restrictions and Limitations on Redistribution of these Supplemental
Terms, Oracle grants you a non-exclusive, non-transferable, limited
license without fees to reproduce and distribute the Software, provided
that (i) you distribute the Software complete and unmodified and only
bundled as part of, and for the sole purpose of running, your Programs,
(ii) the Programs add significant and primary functionality to the
Software, (iii) you do not distribute additional software intended to
replace any component(s) of the Software, (iv) you do not remove or
alter any proprietary legends or notices contained in the Software, (v)
you only distribute the Software subject to a license agreement that:
(a) is a complete, unmodified reproduction of this Agreement; or (b)
protects Oracle's interests consistent with the terms contained in this
Agreement and that includes the notice set forth in Section H, and (vi)
you agree to defend and indemnify Oracle and its licensors from and
against any damages, costs, liabilities, settlement amounts and/or
expenses (including attorneys' fees) incurred in connection with any
claim, lawsuit or action by any third party that arises or results from
the use or distribution of any and all Programs and/or Software. The
license set forth in this Section C does not extend to the Software
identified in Section G.
--
Knute Johnson
Roedy Green
2013-03-15 00:01:34 UTC
Permalink
On Thu, 14 Mar 2013 10:20:19 -0700, Knute Johnson
Post by Knute Johnson
you do not distribute additional software intended to
replace any component(s) of the Software, (
I think the lawyers have heard of subclassing.
--
Roedy Green Canadian Mind Products http://mindprod.com
The computer programmer is a creator of universes for which he alone
is the lawgiver. No playwright, no stage director, no emperor, however
powerful, has ever exercised such absolute authority to arrange a stage
or a field of battle and to command such unswervingly dutiful actors or
troops.
~ Joseph Weizenbaum (born: 1923-01-08 died: 2008-03-05 at age: 85)
Joerg Meier
2013-03-15 02:04:33 UTC
Permalink
Post by Roedy Green
On Thu, 14 Mar 2013 10:20:19 -0700, Knute Johnson
Post by Knute Johnson
you do not distribute additional software intended to
replace any component(s) of the Software, (
I think the lawyers have heard of subclassing.
More likely, it's a generic text and lawyers have learned about the popular
practice of crackers and the like to replace DLLs and such with cracked
versions that skip copy protections or other limits.

Liebe Gruesse,
Joerg
--
Ich lese meine Emails nicht, replies to Email bleiben also leider
ungelesen.
Loading...