old Java compiler

S

Sam

Hello,

I'm working on an applet that should run with Microsoft's JVM. I read that I
need Java Version 1.1.4 for that.
Where can I download that vesrion? I couldn't find anything on the Sun
pages.

Thanks!
Sam
 
A

Andrew Thompson

I'm working on an applet that should run with Microsoft's JVM. I read that I
need Java Version 1.1.4 for that.
Where can I download that vesrion? I couldn't find anything on the Sun
pages.

MS withdrew all support for the MSVM and Sun never supplied it.

If you have an IE that has the MSVM built in, you're in luck though.
 
A

Andrew Thompson

just use your favorite javac with switch -target 1.1

That will enrure the *bytecodes* are readable by the 1.1 VM,
but it will happily compile a call to String.split() down
to 1.1 bytecodes only to have it fail in a 1.1 VM.

To actually check if a class or member was present in a particular
release, you need to compile against that rt.jar (or whatever)
using the -bootclasspath parameter.

Which reminds me.. to the OP.
You can check any small self contained piece of code
against the MSVM at the on-line compiler.
<http://www.physci.org/javac.jsp?bcp=ms>
(The URL configures the JOLC to compile for the MSVM)

HTH
 
A

Andy Flowers

Andrew said:
MS withdrew all support for the MSVM and Sun never supplied it.

And a recent court decision means that the MSVM is still supported for a few
more years. http://www.microsoft.com/mscorp/java/ says it will be supported
until the end of 2007.
If you have an IE that has the MSVM built in, you're in luck though.

If not then you can download the MSVM from places such as
http://java-virtual-machine.net/download.html (A quick google search should
reveal even more), but remember to do a windows update session to update the
MSVM with their latest security patches.

If you wanr a Java VM for 1.1 then go to
http://java.sun.com/products/archive/index.html and download one of their
1.1 versions (1.1.8 should suffice for your needs)
 
T

Thomas Weidenfeller

Andy said:
And a recent court decision means that the MSVM is still supported for a few
more years. http://www.microsoft.com/mscorp/java/ says it will be supported
until the end of 2007.

For some value of "supported". Or, as MS words it:
The MSJVM is no longer available for distribution from Microsoft and there will be no enhancements to the MSJVM.

I wouldn't exactly call this "support".
If not then you can download the MSVM from places such as
http://java-virtual-machine.net/download.html (A quick google search should
reveal even more), but remember to do a windows update session to update the
MSVM with their latest security patches.

Oh sure, in these times of viruses, worms, and trojan horses it is a
really "good" idea to get windows software from unknown sources [No, I
am not claiming that the stuff from java-virtual-machine.net is not
genuine, just that it is not a good idea to get software from unknown
sources in general].

/Thomas
 
S

Sam

thanks for all the advice

my IE that has the MSVM built in, but where is the MSVM normally located? I
just made a search for "rt.jar" but I only found the sun ones.

Sam
 
T

Thomas Weidenfeller

Sam said:
my IE that has the MSVM built in, but where is the MSVM normally located? I
just made a search for "rt.jar" but I only found the sun ones.

I am not sure if there is one (it is long ago that I played with the
MSJVM). I think there is a Windows\Java directory with some proprietary
..cab files containing the MSJVM's classes (the file names are
gibberish). Don't ask me how to manage to get Sun's Java compiler to use
MS' proprietary .cab files. I would guess you would need to extract
them, and create an own .jar - if MS' license permits such activities.

All in all, if you can, forget about the MSJVM, and consider using a
modern Java 2 VM instead.

/Thomas
 
M

Michael Borgwardt

Thomas said:
I am not sure if there is one (it is long ago that I played with the
MSJVM). I think there is a Windows\Java directory with some proprietary
.cab files containing the MSJVM's classes (the file names are
gibberish). Don't ask me how to manage to get Sun's Java compiler to use
MS' proprietary .cab files. I would guess you would need to extract
them, and create an own .jar - if MS' license permits such activities.

I don't think that's necessary. Using the classes.zip (it was called that,
rather than rt.jar) from a Sun JDK should be OK to check whether the
code uses anything that wasn't present in Java 1.1 - I'm pretty sure that
the MSJVM supported the full standard API. Its incompatibilities weren't
that blatant.
 
A

Andrew Thompson

thanks for all the advice

You are welcome. Please don't top-post Sam, I find it very confusing.
<http://www.physci.org/codes/javafaq.jsp#netiquette>

See further comments below.
my IE that has the MSVM built in,

You're in luck then (or deep peril, depending on whether
you are actually silly enough to surf the net with the
MSVM as default).
..but where is the MSVM normally located? I
just made a search for "rt.jar" but I only found the sun ones.

Aha! Got just the applet for you. ;-)
<http://www.physci.org/ms/msclassfile.jsp>

Shows the exact locations of the class files spread
across the six files of the MSVM.

HTH
 
M

Manfred Rosenboom

Hi Sam,

You can find JDKs back to 1.1.6 (which should be good enough
your purpose) at

http://java.sun.com/products/archive/

BTW: this old version most probable won't run on modern CPUs,
so don't be disappointed. Best is, to use a modern JDK (1.4.2
or 1.5) and compile your classes with options -target 1.1 and
than use the old classes.zip at runtime.

Best,
Manfred
 
A

Andrew Thompson

I'm pretty sure that
the MSJVM supported the full standard API. Its incompatibilities weren't
that blatant.

When this conversation started I was absolutely certain that
I had struck a situation where an attribute or method was defined
in 1.1.8 but not 1.1.4. For the life of me, I cannot recall what
it was.

OTOH
- There are differences in the security model of the MSVM (including
the safest, the 3810 build) and even the Symantec 1.1.5 VM.
- An applet worked on the 1.1.5 but failed on the MSVM, ..because
the MSVM was getting through some GUI set-up code and attempting
to paint the GUI before the poster had initialised an array that
was vital to the paint() of a custom component.

To be sure an applet will work on the MSVM, you really need to
test on an MSVM. (Well, that and not do stupid things like fail
to check an array for 'null'.)
 
C

Chris Smith

Andrew said:
To be sure an applet will work on the MSVM, you really need to
test on an MSVM. (Well, that and not do stupid things like fail
to check an array for 'null'.)

I definitely wouldn't classify that as "stupid" if the spec guaranteed
that the initialization would have occurred by the time the array is
used. It's neither feasible nor desirable to test every reference
against null before dereferencing it; that's what NullPointerException
is for (and even in less safe languages, the first page of code at
address zero is generally marked inaccessible in modern operating
systems specifically so that code will fail cleanly when it dereferences
a null pointer).

--
www.designacourse.com
The Easiest Way To Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation
 
A

Andrew Thompson

I definitely wouldn't classify that as "stupid" if the spec guaranteed
that the initialization would have occurred by the time the array is
used.
(snip)

Not in the circumstance I outlined in the paragraph above,
I'll repeat it below..

But it was really a toss away comment, the array might have
defaulted to a minimal case while the game (in this case) was
set up, or a variety of other strategies...
 
A

Andy Flowers

Thomas said:
Andy Flowers wrote:

Oh sure, in these times of viruses, worms, and trojan horses it is a
really "good" idea to get windows software from unknown sources [No, I
am not claiming that the stuff from java-virtual-machine.net is not
genuine, just that it is not a good idea to get software from unknown
sources in general].

This was just an example. Personally I dig out my Visual J++ CD.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,048
Latest member
verona

Latest Threads

Top