Java app no longer runs under OS X 10.11 El Capitan - java

We have a set of Java applications that have been working fine on OS X for years. They work fine on OS X 10.10.
A few people just upgraded to 10.11, and one of the apps no longer runs. It gets a:
com.apple.xpc.launchd[1]: (com.apple.xpc.launchd.oneshot.0x10000004.OSXJavaLauncher[395]) Service exited with abnormal code: 1
Error in the console, and never starts at all. (icon shows on the taskbar for just a second.)
Our other app starts just fine. It is built with the same Java Launcher code.
Is there any way to find out what OS X doesn't like about the app that fails to start?

I was having the same problem, basically even with Java for OS X 2015-001 installed my app wouldn't start. In researching this problem, I came across information on this github page, which does a really good job of explaining the issue. In short, Java apps built into native executables for mac using older tools will no longer work because of incompatibilities in the plist format, and applicationstubs. Apps built for Apple's java are not running with Oracle's java and vice-versa.
Using the information from the referenced page, I rewrote our ant build using this ant task, and this application stub. I now have a native app that runs on both Apple's Java 6 and Oracle's Java 8 and runs in testing on OSX 10.9-10.11.

Related

Can't find a guide for building my own SWT dylibs

I don't know how exactly this problem is to be tackled but I have an Eclipse RCP (indigo) application which used to be deployed on Mac (10.6.8) Snow Leopard that must now be deployed on Mac (10.14.3) Mojave.
Our team, out of the options of VM-ing the app, migrating up the Eclipse RCP version (which due to the behemoth of an app we're dealing with would have led us hoplessly out of our time constraints), and keeping the app as is but simply providing a compatible SWT platform, chose the final option.
The idea being that SWT is the only real thing causing this Java app to not run when changing target platform.
the thing is we'd need an SWT targeted to Mac 10.14 and also answers Mac 10.6 calls.
Ergo a version that doesn't exist. (the end goal here, being to bundle our .dylibs with our project)
As my online searches have come up short I'd like to know what the procedure is for accomplishing this.
Here's what I did find :
https://wiki.eclipse.org/SWT/Devel/Gtk/Dev_guide#SWT_source_code_and_binary_repositories
https://wiki.eclipse.org/SWT/Developer_Guide
but I think they are trying to address how to develop with SWT not how to develop and build SWT.
also since I've never done anything like this I'm not sure I'm completely off the mark. is it SWT I'm aiming to build? is it JNI? is it os.java?

How to Get OS X to Automatically Install Java 7 on App Launch Instead of Java 6

Java is no longer installed by default on OS X, but fortunately if a user tries to launch a Java app, they receive the following message:
I really like this, as is clearly explains that Java is required and provides a one-click way to install it. It's simple and painless for end users.
However, this prompts to install Java SE 6 rather than Java SE 7, which has been out for some time. This even happens on OS 10.9.1, the latest version as of this writing. I'm considering making my app require Java SE 7, but I want to ensure that users will be downloading the proper version (I'm aware I can bundle the JRE, but I would prefer not to add it since it would quadruple the app size). Ideally, I'd like for the dialog box shown above to continue to be shown, but instead of downloading Java SE 6, it downloads Java SE 7.
I tried changing the JVMVersion key in the Info.plist file of my application to 1.7+, but that didn't make any difference and it still prompted to download Java SE 6 (which if it actually did require it, would result in an incompatibility).
So is there a way that I can get OS X to prompt the user to download Java 7 when they launch my app? To be clear, I want this to be something on the user side. I know that I can install Java, but I want it so that it is as painless as possible to the end user.
There is no way to automatically download Java 7 on OS X. This is by design. When you deploy an OS X application, you are expected to put everything that is required for the app to launching into the app bundle — inclusive of the JRE or JDK if you need it. If you find that the size of the JRE or JDK is unacceptable, you can prune out any components you don't need (JavaFX, AWT, JObjC, etc).
This is the most painless user experience you can offer. Download, double-click, and go.

Issue with OSX 10.9 multiple desktops

I run about multiple desktops at all times and if I stay on the desktop that My App is running on everything seems fine. If I move away from the desktop with my app on and work on a different desktop this is where my app will stop downloading once it has finished its current process, it will switch to the next process but will not start next downloading.
I identified that that it might be virtual desktop related. If I switch all desktops for a second then operation works fine.
I was working on 10.8 OS X where my app (built in java) was working absolutely fine.
but as I upgraded it to 10.9, I am facing problem like above.
Is that have any solution or It is a bug of 10.9 OS X.

Can't run in browser on latest Linux and Mac with Java7u13 JFX2.2.5

I can't start JavaFX 2.2.5 applications in browser(all possible browsers) in Oracle Linux 6.3 x86 and latest MacOS. I have the latest Java 7 u 13 from Oracle.
Neither JavaFX Netbeans sample, my applications nor Ensamble(http://download.oracle.com/otndocs/products/javafx/2.2/samples/Ensemble/index.html) work.
The applications work if I start them as normal apps, but not from the browser.
Java works perfectly on those systems, just that I can't start JFX 2 in browsers.
What should be done? My clients need the flexibility of starting their apps from browsers.
It worked a few versions ago, but now I can't start them. Browsers tell me that I don't have Java. (they show that image with Java that redirects to the page from where I can download Java). I also tried to install just the JRE from that link. I have removed and reinstalled Java.
Is anyone else facing this problem?
Any help would be really useful.
I have also posted this on oracle forum: https://forums.oracle.com/forums/thread.jspa?threadID=2494131
In addition, after installing JRE 7u13 on XP/sp3 (IE8), the "verify Java Version" page (http://java.com/en/download/installed.jsp) produces a Data Execution Prevention (DEP) exception
I've got access to my customer's Mac machines.
My apologize. They had 7u12 on their Macs.
Happily enough, it seems that Oracle managed to get JFX working in browser with 7u13.
Regarding Linux, I finally got it to work, but don't forget about "firefox/plugins" and "firefox/plugin" (the latest is wrong). Oracle should update this error from their description available at: http://java.com/en/download/help/linux_install.xml#enable

java application on Windows 8 start screen

I have been googling on this but I can't find the answer.
Can anyone tell me if you can put a Java application on the windows 8 start screen?
According to java.com
When will Java be supported in Windows 8? Windows 8 is officially
supported with the release of Java 7 Update 10. Java will only be
supported in Desktop screen. Java will not run in the Start screen.
I am not sure how to interpret this since I do not know the startscreen of Windows 8 and they talk about internet explorer 10 on the same page which makes me think they may only be talking about the browser.
Basically I want to have a tile to act like a classic windows icon. Is this the way it works and is this the way you can run a java application? Or do you need to go to the desktop interface first?
No. You can't.
All the apps on the Windows 8 start screen are the apps downloaded from the Windows Store.
All the other Java applications that you develop will run in the desktop environment, but not in the start screen.
As per this source, you can look forward towards creating apps for Windows Store using Java and then you can maybe think of putting a Java application on the Windows start screen.
You cannot put directly a Java application in the start screen in windows 8 (just as you couldn't create shortcut icons on the Desktop in Windows 7), however notice this is rarely what you want with a Windows desktop application.
Most of the times you will want to wrap your Java desktop application with a windows installer which will put the start screen icon on windows 8.
Your Java code will then be launched by the installer executable which might do some house cleaning jobs like checking what compatible version of Java is installed in the computer and if required install a newer one.

Categories

Resources