Release Java PND


Btw, I just installed the latest oracle java sfp for arm with the installer. Works pretty good.
 
i tryed using the jdk7u10 arm stp for arm and worked with night vison and dmdirc 0.7 had to reboot or would just tell you to dl the oracle file again
 
Incoming update. I've included the openGLES build of LWJGL, plus jinput. And the 7u10 arm binary. From my understanding it should be allowed. Worst that'll happen is Oracle sends me a CnD and we go back to the old way.

Most LWJGL apps should "just work", unless they make assumptions about the display context that they really shouldn't be (like Minecraft).

One thing to take care of, if you want to use the included libraries (lwjgl and jinput) don't use the "-cp" command line option. If you want to add things to your classpath, set the CLASSPATH environment variable. I'm sure there's a better way to do this but I couldn't figure it out in the last hour or so so gave up. The -cp option overwrites the CLASSPATH environment, and you can only included one -cp option, so there doesn't seem to be any way of having some default classes AND including your own on top, short of pre-parsing the argument list and seeing if you've specified a classpath, but that's not insignificant and prone to error. If you set the CLASSPATH environment variable though I can check for that easily.

I've also included the lwjgl demos, so you should be able to run "java org.lwjgl.test.opengles.Gears". Wooo, pretty.

Finally, I've forced the home directory to be the appdata/java directory. I wasn't doing that properly before and I didn't find out what was wrong until I was messing with Minecraft. So now it's fine, no Java app will attempt to write to the nand unless explicitly told.

(ps, no Minecraft still doesn't work)
 
Great!


Why do you use 7u10? There are newer versions already...


Or did you build the other stuff explicitly for this version?
 
7u10 is the highest I could find for ARM. The newer versions don't have ARM releases, unless you can show me otherwise.

edit: huh, that is very weird. The latest 7u17 release shows ARM being 7u10 as the latest, but going back to previous version 7u15 has both x86 and ARM in that release. I wonder if that means there's a mistake on the 7u17 page and what I've actually installed is 7u17, or if it's a mistake in that it should be 7u17 but incorrectly downloads 7u10, OR maybe 7u15 was found to be unstable so they downgraded back to 7u10. I don't know yet.
 
Last edited by a moderator:
Yes, it does seem to be fine. Why isn't listed as the most recent? I'll do some quick tests today and probably reupload when I get home tonight.
 
I'm wondering if they discovered a security issue in 7u15  and 7u10 was the last ARM version that didn't have it...    but of course thats just speculation on my part, mainly because I have to wonder if there was a good reason not to show the later version on the 'current version' download page...

- Neelix
 
I only was confused after installing Java again because I've forgot to delete the old version first. A message came and I had 2 versions in the appdata folder (over 800 files each, wow). I wanted to delete one but it was the wrong one. I'm sure it installed the newer one but I had to delete the folder that was labeled with something like jre 7.010 or so which actualy should be the newer one, hmm. maybe I delete all and start again with the newest jre...
 
Oh yeah, that's a good point. Just installing the new PND over the old, the old jdk would still be in the appdata directory and prevent the new from taking effect. Should I do something about that?
 
Would be nice, the average user (including me) will just download, double-click and expect to at least get a warning if this is not the way to do it :)

By the way, I also noticed that there is very little information in the repo. A very basic "what's new" and a link to the latest release-post in the forum (which you usually do anyway and which has more info) would be great. You could use the additional info field in the repo for this. I often just browse for new software and updates with PNDmanager, and I find it helpful when I can see at once what changed in this version. Also info like "uninstall previous version first" can go there.

Anyway, thanks for keeping this up to date. To me your Java.PND is as essential as the community-codec-pack or timidity!
 
Oh yeah, that's a good point. Just installing the new PND over the old, the old jdk would still be in the appdata directory and prevent the new from taking effect. Should I do something about that?
I thought this was already coded in but I didn't read everything there on screen carefuly enough. ^^ It was under my impression that the updater noticed that there already was an older Java version and it's renamed an can be deleted later. However, I'm nopt sure if it really updated the old one or renamed just the new one that does not count as installed java version (because in my case, only the other one was missed when I renamed it for testing purposes).
 
Fixed it, and included additional info on the repo that should be useful. If you already have java installed, just get the new package and delete your appdata/java/jdk directory. If you don't already have java, you'll still need to run the install. It still asks whether you want openJDK or Oracle/Sun java, but it's just a flag now, no looking for files and uncompressing.

I may make it two different packages in the future, an Oracle one and a fully open one.
 
Fixed it, and included additional info on the repo that should be useful. If you already have java installed, just get the new package and delete your appdata/java/jdk directory. If you don't already have java, you'll still need to run the install. It still asks whether you want openJDK or Oracle/Sun java, but it's just a flag now, no looking for files and uncompressing.


I may make it two different packages in the future, an Oracle one and a fully open one.
Cool. :)

Can I just delete the appdata folders but keep the installed plugin on the NAND and just re-install (overwrite) it together with the new java files for the Appdata folder? Or should I do a clean unistall of everything first?
 
Can I just delete the appdata folders but keep the installed plugin on the NAND and just re-install (overwrite) it together with the new java files for the Appdata folder? Or should I do a clean unistall of everything first?
If you've already had the last one installed using the sun java, all you need to do is replace the PND and delete the jdk directory. You can delete the entire appdata folder if you want, that'll work too, but in the future that could result in some java apps losing their settings as the appdata folder is now the default home directory. Java apps can overwrite this (and any java apps turned into PNDs will do so automatically) but if they don't and you just run "java -jar foo.jar" then stuff'll be written to the appdata folder instead of nand.The only reason to run the install is if you've never used the sunjava before, either because you've never had java.pnd before or because you were using the openjdk.

The only reason to run the uninstall is to get rid of it. It's perfectly safe to run install overtop of a previous install (it'll just warn you that it's about to overwrite existing java and javaws executables)

Hmmm... I could probably also add javac to that list now.
 
This java pnd is much appreciated!  and it's good to have Oracle java bundled in it now

I have a few suggestions:

- maybe don't print debug info when running the "java" script, unless [ -n "$PND_JAVA_DEBUG" ]

  (some app I tried uses a wrapper script to run `java -version`, and gets confused with the extra output.  It's not a big deal, but yeah...)

- let's include some more java libs?  I was thinking swt (eclipse widgets).

- let's hack lwjgl to make opengl.GLContext = opengles.GLContext (by inheritance I guess), I suggested this in another thread
 
Last edited by a moderator:
Back
Top