This discussion is archived
1 2 Previous Next 18 Replies Latest reply: May 29, 2008 3:31 PM by 627645 RSS

Installation error:  Cannot find a J2SE SDK installed at path C:\Program Fi

591911 Newbie
Currently Being Moderated
I am installing latest version of SQL Developer, Release 1.2. I have Sun Java 2 Standard Edition Version 1.5.0 (build 1.5.0_10-b03). When I browse and select the java.exe found it comes up with error: Cannot find a J2SE SDK installed at patch
C:\Program Files\Java\jre1.5.0_10

I am installing the version I downloaded for Windows systems with JDK1.5.

I have tried on two different machines.

Any ideas?
  • 1. Re: Installation error:  Cannot find a J2SE SDK installed at path C:\Program Fi
    -K- Guru
    Currently Being Moderated
    As indicated, the JRE is not the wanted SDK (JDK). I thought this would work anyway except for debugging, but I might be wrong.
    You can download the SDK from Sun, or download the full package for sqldev. To prevent further problems, I'd suggest the latter.

    Regards,
    K.
  • 2. Re: Installation error:  Cannot find a J2SE SDK installed at path C:\Program Fi
    594611 Newbie
    Currently Being Moderated
    Just thought I'd add a crosspost to a slightly furthered discussion.
    Re: Why mandate a JDK?
  • 3. Re: Installation error:  Cannot find a J2SE SDK installed at path C:\Program Fi
    594611 Newbie
    Currently Being Moderated
    I don't think the second options is an optimal solution. I've seen this with quite a few Java apps. Creators tend to slap in a JDK/JRE along with the app itself; pro'lly so that they can avoid having to tell the user to download/check-their-system-for one.

    That's probably one of the reasons Java apps gets a bad name about being bulky. Ofcourse they would be if you copied the runtime over and over and over again! You don't see MS apps where you have to copy the Win32 SDK or VB apps where you have to bring over the VB runtime for each app, do you?

    Sun designed the JRE with that exact deployment strategy in mind! It's sad that some Java app developers just don't get it.
  • 4. Re: Installation error:  Cannot find a J2SE SDK installed at path C:\Program Fi
    -K- Guru
    Currently Being Moderated
    I'd initially always suggest using the bundled package, since that's supposed to be a tested and proven combination.
    After having problems with a graphics card for example, installing the latest JDK might be indicated.
    It's also easy for users who don't know which Java version to download, or even where to find it! You guys have proven that: although it's stated you need the JDK, you've tried running with the JRE.
    And given users might have several versions running on the same machine (I have half a dozen), sqldev could easily pick up a wrong version.

    As for being bulky, even without the bundled JDK, it still is.
    You say you don't have to bring over the VB runtime for each app? I remember in the 90's doing it all the time. Of course, being MS, now that's not necessary anymore, since it's "magical" Windows. I don't have any machine from Sun, but for sure they've got Java bundled with it, right?

    Again, I find the most logical difference between JRE and JDK being the debugger. As you say it yourself: JRE for end-users, who don't need to do any debugging.
    Now, sqldev is not just a table browser, but also for debugging PL/SQL. 1 + 1 = 2.

    Nevertheless, as said in the other thread, if the team discloses how to circumvent the SDK check at startup, you can go ahead and use the JRE. In any case, you'd have to agree that won't work as out-of-the-box solution...

    Regards,
    K.
  • 5. Re: Installation error:  Cannot find a J2SE SDK installed at path C:\Progra
    Olaf Heimburger Pro
    Currently Being Moderated
    Blanks in path names very often pose problems with Java applications.
    For SQLDeveloper it often helps to update the JDK by moving the older JDK version located in $SQLDEVELOPER_HOME/jdk to $SQLDEVELOPER_HOME/jdk.old, create a new $SQLDEVELOPER_HOME/jdk and move the contents of the new JDK version into it.

    Don't do this with a running SQLDeveloper...

    --olaf                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
  • 6. Re: Installation error:  Cannot find a J2SE SDK installed at path C:\Progra
    -K- Guru
    Currently Being Moderated
    Thanks for pointing that out, Olaf.
    However, blanks are not the issue here; pointing to a path with blanks for the JDK (development kit) works. It's just when pointing to a JRE (runtime edition) that it fails (as explained in previous posts)...

    K.
  • 7. Re: Installation error:  Cannot find a J2SE SDK installed at path C:\Program Fi
    594611 Newbie
    Currently Being Moderated
    This is going to seem loooong, but comprehensive.
    I'd initially always suggest using the bundled
    package, since that's supposed to be a tested and
    proven combination.
    You know what, I'm gonna be mighty surprised if you're implying that Oracle hasn't 'tested and proven' the releases at http://www.oracle.com./technology/software/products/sql/index.html other than the first 77 MB download labeled Oracle SQL Developer for Windows... :)

    After having problems with a graphics card for
    example, installing the latest JDK might be
    indicated.
    Huh?!? Not a clue what you're talkin' 'bout! :S

    It's also easy for users who don't know which Java
    version to download, or even where to find it! You
    guys have proven that: although it's stated you need
    .
    First of all, it says right there on the download page (http://www.oracle.com./technology/software/products/sql/index.html) that:

    "JDK 1.5 (JDK 5.0) is required. This is the minimum JDK version required"

    And we've "proven that [..] although it's stated you need the JDK, [we]'ve tried running with the JRE" and have NOT been able to run the application. It just presents the user a dialog box to locate the 'SDK' manually and exits gracefully if you try to dismiss it. So, conclusively proven, the JDK (or as SQL Developer puts it, Java SDK) is required- QED.

    And given users might have several versions running
    on the same machine (I have half a dozen), sqldev
    could easily pick up a wrong version.
    And every JRE installation (atleast all of Sun's) make sure they update the default (via PATH and other required system variables) JRE point to the latest one installed. So if you have anything 1.5+ you're good to go; if not, you've got an incompatile JRE. Doesn't sound that hard to me!

    As for being bulky, even without the bundled JDK, it
    still is.
    Ya missed the point. Developers are making Java applications bulkier by including the JRE/JDK with their distributions. A SQL Developer release sans JDK is about 46 MB; with JDK that climbs to 77 MB (sizes quoted from download page linked above).

    Imagine what happens when you have, besides SQL Developer (JDK 1.5 included), some-cool-java-app that also includes the JRE/JDK it was built on; and then another-java-app that also includes a JRE/JDK... I bet JDeveloper also comes with a JDK bundled in. So, now you have FOUR copies of JRE/JDK (aside from the "have half a dozen" that probably installed themselves via Java Update Checker)!

    Here's the big picture, the savings in disk space would only be the beginning of your benefits. Here's a few others:

    - Class Data Sharing (http://java.sun.com/javase/6/docs/technotes/guides/vm/class-data-sharing.html) introduced in Java SE 5.0 provides for storing definitions of commonly used classes in a representation closer to machine code, even closer than bytecode, this reducing load and startup time. Plus all VM's launced using that particular distribution get to share the cache- Performace+ !!
    Running each app offa' it's own VM just causes multiple caches to be loaded. You just multiplied your losses! :(

    - Sun is currently working on a way to have applications simply inject into a running JVM. That way, there is no load and startup time for the JVM, just the time to load you app classes. Using different distros would completely defeat this!
    (The reason why this feature isn't out yet is because they're still trying to make it possible to specify hitherto VM configurations like security and logging as application configurations. Then there's also the issue of setting up class loading boundaries between applications.

    You say you don't have to bring over the VB runtime
    for each app? I remember in the 90's doing it all the
    time. Of course, being MS, now that's not necessary
    anymore, since it's "magical" Windows. I don't have
    any machine from Sun, but for sure they've got Java
    bundled with it, right?
    I don't believe you had to do that since VB 5; and that's because MS realized that they messed up on this very point upto then! Sun worked the simple solution to that into their deployment strategy- install only ONE runtime and run all apps off that. As for you're half-a-dozen, I think you can safely uninstall the five older versions; because, even today, people are running apps developed using JDK1.1 on Java SE 6.0!

    Again, I find the most logical difference between JRE
    and JDK being the debugger. As you say it yourself:
    JRE for end-users, who don't need to do any
    debugging.
    Now, sqldev is not just a table browser, but also for
    debugging PL/SQL. 1 + 1 = 2.
    I think it's a little naive to differentiate between the JRE and JDK on just the debugger! Aside from the obvious inclusion of a compiler, the JDK has several other tools for monitoring/managing the heap, threads and logging on the fly. There's also the Doclet API and Sun's javadoc implementation, dev interfaces for instrumenting the VM, native interfaces, ...

    And I reiterate, we're talkin' PL/SQL developers here. Why would I want to give a PL/SQL developer a Java Development Kit?!? ;|
    Nevertheless, as said in the other thread, if the
    team discloses how to circumvent the SDK check at
    startup, you can go ahead and use the JRE. In any
    case, you'd have to agree that won't work as
    out-of-the-box solution...
    You're right, it won't work like a standard Windows OOTB app. But, it WILL work as a Java OOTB that only mandates that there be a JRE available; just like the scores of Java apps out there- from tiny little Pong clones to large IDE's like NetBeans.

    BTW, don't even think about quoting Websphere/Rational/Eclipse as counter-arguments. They are the biggest offenders as far as this issue goes. And jikes is an abomination, a curse Sun must carry as a result to opening the VM Spec. But, I digress...
  • 8. Re: Installation error:  Cannot find a J2SE SDK installed at path C:\Program Fi
    -K- Guru
    Currently Being Moderated
    Sheez, dude, you say somewhere I'm missing the point, but instead you're making a huge stain out of that point!

    It's not because you're such a bright mind that others are so too. Apparently you haven't spend much time around here. You'd be amazed how many users screw up the very basics (for starters, did you read the sticky post on the forum "read before posting"?). If you want to call them idiots, go ahead, but Oracle still has to provide for them too. And after numerous dozens of people missing the required version and even asking where to download the SDK, trust me, you'd include the damn thing with your application too. Still some people think they download the one "with SDK included", but really it says "with SDK installed", even they could just have glanced at the size of the package...

    Again, maybe you have no trouble running all apps with the latest JRE, but others do. Many companies won't even give support if you don't use the provided version. Also you might use new functionality that is not available to users with older versions. You've got still a lot to learn, my friend. (And so have I, of course, but you're definitely not one of the people that can call me naive).

    I didn't "differentiate between the JRE and JDK on just the debugger", just emphasized on it being the major difference directly related to sqldev. Apparently you STILL don't get it, because you're still advocating for the JRE.
    As I said, go ahead and use the JRE (when you find out how to avoid the startup check) with Probe or black-box or whatever, I'll be here debugging with my lovely Java debugger ;-P

    For the last time now: nobody forces you to use JDK nor SQL Developer. You don't like the way it works, you can write you're own as far as I'm concerned!

    K.
  • 9. Re: Installation error:  Cannot find a J2SE SDK installed at path C:\Progra
    594611 Newbie
    Currently Being Moderated
    It's not because you're such a bright mind that
    others are so too. Apparently you haven't spend much
    time around here. You'd be amazed how many users
    screw up the very basics (for starters, did
    you read the sticky post on the forum "read
    before posting"?). If you want to call them idiots,
    go ahead, but Oracle still has to provide for them
    too. And after numerous dozens of people missing the
    required version and even asking where to download
    the SDK, trust me, you'd include the damn thing with
    your application too. Still some people think they
    download the one "with SDK included", but really it
    says "with SDK installed", even they could just have
    glanced at the size of the package...
    Cute! If I messed up that point, you messed this one up. I didn't mean to be rude then, and I don't mean to e rude now; but, how's about I lob the, "but SQL Developer users are Developers, they should know better" point of view here?

    And where exactly did you get the idea that I was calling the users idiots? I'm currently a consultant in a multinational IT service vendor and provide consultation and develop software for a multinational bank, trust me, I've seen my share of technically-challenged users as well as technicians. I'm not saying that any of them are so far gone that I wouldn't provide for them, but that doesn't mean that I'll screw up my design just to work them into it. There's creative ways to do that.

    As for the wording on the download site, well that's just poor affordances. As Donald Norman indicates, poor affordances can cause more harm than no affordances. Someone really needs to fix the text on that page. Do you happen know where I could report that?

    Also you might use new functionality that is
    not available to users with older versions.
    That argument is for developers of Java software, not users.

    You've got still a lot to learn, my friend. (And so have I,
    of course, but you're definitely not one of the
    people that can call me naive).
    I'm with you on that point. We've all got a lot to learn, all our lives. That's the only way to grow.

    I didn't "differentiate between the JRE and JDK on
    just the debugger", just emphasized on it being the
    major difference directly related to sqldev.
    Apparently you STILL don't get it, because you're
    still advocating for the JRE.
    You only hurt the people you really love. I love Oracle, I really like SQL Developer and I am pretty much a Java evangelist (hence the strong focus on JRE/JDK separation here). So I'm only carrying this discussion so far because I don't want any of them to be used/implemented incorrectly. The root of my frustration, as clarified in the other discussion (Re: Why mandate a JDK? is that I don't think using JDWP was a very smart choice for a PL/SQL debugger protocol. That's what's forcing the JDK anyway.

    Look, I know I come out a little strong sometimes, but that's only cause I really care. I only said that "it's a little naive to differentiate..." because your line seemed to indicate that the debugger was the essential difference in any given context. I didn't mean anyone any ill and am sorry if I offended you in any way.

    I am looking for a Feature request to this effect on the SQL Developer Exchange and will post one if I don't find it.
  • 10. Re: Installation error:  Cannot find a J2SE SDK installed at path C:\Progra
    castorp Explorer
    Currently Being Moderated
    You don't see MS apps where you have to copy the
    Win32 SDK or VB apps where you have to bring over the
    VB runtime for each app, do you?
    I remember having to download and install .NET Framework several times. 1.1, then 2.0 and the download is about the same size as the JRE (and the upcoming 3.0 won't make that easier)
    Sun designed the JRE with that exact deployment
    strategy in mind! It's sad that some Java app
    developers just don't get it.
    Well it's more the users who don't want to "install" another piece of software just to run the application and so they ask for a complete download.
    Microsoft simply is strong enough to force the .NET framework download, so that the .NET developers do not need to think about that.

    I think it's nice to have the choice.

    I agree that downloads where the JRE bundle is the only choice is a very bad idea
  • 11. Re: Installation error:  Cannot find a J2SE SDK installed at path C:\Progra
    -K- Guru
    Currently Being Moderated
    Aaah, now you're talking sense (or at least I catch your drift now).

    As you figured, now that sqldev uses the Java debugger already, the only thing you can do is request an alternative. Although it isn't likely to get accepted, since it the current one works, apart from the fact it would take them ages to implement a new one.
    I think you'd have more chances with requesting a hybrid solution. As I said, just having Tools.jar should be enough to use sqldev on JRE. They could provide an alternative JRE-safe installation package, without JDK, but Tools.jar included, which would be put in the right location on first startup.

    As for the choice of words, I know I'm rather rude on several occasions too, so sorry I gave you that impression. No offense taken from my part either BTW.

    Good luck with your crusade ;-)

    K.
  • 12. Re: Installation error:  Cannot find a J2SE SDK installed at path C:\Progra
    SueHarper Oracle ACE
    Currently Being Moderated
    I own the OTN pages for SQL Developer and we have rephrased and rephrased that text! I am happy to change it again...

    How much clearer can we get...the sentence says "For developers with JDK 1.5 already installed"

    Sue
  • 13. Re: Installation error:  Cannot find a J2SE SDK installed at path C:\Progra
    594611 Newbie
    Currently Being Moderated
    I guess that is the problem. If you read that line in context with the rest of the page, it kinda stands out; when, in fact, that is not the distribution that is different from the rest! It's the first one that is really different. All the others (Mac OS X, Linux) require that a JDK be preinstalled on the system too. Labeling just that one causes confusion. Maybe you could label the first one (the one that is actually different from the rest) as "bundled with Java SE Development Kit 5.0" or something to that effect?
  • 14. Re: Installation error:  Cannot find a J2SE SDK installed at path C:\Progra
    SueHarper Oracle ACE
    Currently Being Moderated
    I've made some changes to the page...Downloads

    <p>Sue
1 2 Previous Next