[SOLVED] Does not launch on Mac OS

I have a MacBook Pro running OSX 10.12.6. I downloaded jMonkeyEngine v3.2.0-stable-sdk1, the installer finished with no errors, and there is a jmonkeyplatform.app in my Applications folder. But when I double-click on it, nothing happens, the app does not launch. I’ve checked the system console and there does not appear to be anything in there.

Does anyone have any suggestions?

Ok, I believe I’ve solved it. Apparently JMonkeyEngine doesn’t play nice with a self-contained NetBeans install, I had to find out where NetBeans put its JDK and then edit the jmonkeyplatform script deep inside the app package to manually set jdkhome. Seems like something that JME could do on its own.

1 Like

Tagging the sdk guru @Darkchaos

Many assumptions and few information in that post. What jdkhome did you have to set? Why do you think it has to do with a parallel NetBeans install? jME includes a JDK, it rather sounds like the packaged JDK failed to run on your system for some reason.

A bit unnecessarily snarky there. Given that I had solved the problem myself, I didn’t think it was required that I give a detailed description. Well, my base assumption with the installation of any application, java-based or not, is that it either includes everything that it needs or can unequivocally find whatever it needs. When an application’s installer finishes with no errors, and yet launching the application fails, that is undeniably a failure on the part of those who created the installer to have set it up correctly. That is just a fact. If the app needs Java, the installer should check that Java is in the expected location, or search to find it, or at the VERY least, alert the user at install time that Java wasn’t properly found. In my case, after much consternation, I discovered that by going into the package and launching the script via the command line, I could see the error: “Cannot find java. Please use the --jdkhome switch.” Now, sdk guru, you tell me how that can happen if, as you say, JME includes its own JDK. I looked at the script and found that it DOES use the --jdkhome switch, and yet the $jdkhome variable was not set correctly. My second assumption, this one which I admit could be wrong, was that since the JME docs indicate that it is built on NetBeans, that the installer would be set up to find said NetBeans and its JDK. I had used the self-contained NetBeans, and so finding its JDK and then going into the JME script and setting jdkhome to that is what worked.

1 Like

Could you please explain how you solved the problem?
I have the exact same problem.
Many thanks!

@xavierwoo I had the same problem the fix I used was to go to the app. Select show contents. navigate through to Contents/Resources/jmonkeyplatform/etc. Open the file called jmonkeyplatform.conf with a text edit application. Then scroll down to near the bottom of the file and comment out the line jdkhome=“jdk” by placing a # character in front of it. This will cause the IDE to automatically find the jdk rather than looking where it thinks the home is.

Although it sounds like roadfood may have found a slightly different solution.

1 Like

No problem. You proceeded to give some more valuable info but you got snarky again while writing it :stuck_out_tongue:

Yeah this is my fault. I’ve tried to strip down build time by only building the Mac JDK if we build for Mac. It seems that I completely removed the Mac OS now.

I’m right into the exam phase, so if someone is bored, feel free to use Docker Hub and investigate it a bit (in build.xml you’ll find a passage which checks for BUILD_OTHER and includes the jdk then, see the commit history).

Otherwise the ETA will be maybe in march

1 Like

normen: Interesting, my “A bit unnecessarily snarky there.” comment was unintentionally ambiguous. I meant that your initial response was snarky in the implication that either I was somehow mistaken or had made some error, and questioning my statement about NetBeans, and implying that I somehow owed you a detailed explanation after I fixed the problem myself after my request for help went unanswered. A less snarky response would have been to start out by saying you were glad that I managed to solve it, and then politely asking for the details, as xavierwoo did. Anything you took as snarky in my post was simply the natural frustration at having spent hours having to debug and fix someone else’s mistake.

Specifically, what I did to fix it was go into the package, down to the jmonkeyplatform script, and add this:

export jdkhome=’/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home’

at line 125 (before the “case “uname” in”). And before anyone points it out, this is clearly not a general solution. I was not interested in a general solution, I just wanted to get it working for me. Shadowworks’ solution sounds better.

Oh really, you meant that I was snarky? Maybe I should learn about sarcasm eh? :roll_eyes:

I didn’t imply anything, everything was right in the text. And why would I be happy that you solve your problems? I am only interested in having the information on how to solve the issue you had in the forum so others can access it too.

You complain that nobody helps you and use that as an excuse for not helping - do you see the contradiction?

1 Like