Using 3rd party libraries like Jersey & <pattern>org.glassfish.jersey.client.**</pattern>

1,072 views
Skip to first unread message

Alexander Orlov

unread,
Feb 9, 2015, 4:30:26 AM2/9/15
to rob...@googlegroups.com

As you see in this GitHub diff, I’ve added a 3rd party library, Jersey to one of the RoboVM’s samples.
It did not compile, and threw

######

[INFO] A new version of RoboVM is available. Current version: 1.0.0-SNAPSHOT. New version: 1.0.0-beta-03.

Warning: javax.xml.bind.annotation.adapters.XmlAdapter is a phantom class!

Warning: javax.xml.bind.annotation.XmlAttribute is a phantom class!

Warning: javax.xml.bind.annotation.XmlAnyAttribute is a phantom class!

[INFO] Linking 3129 classes (ios x86 release)

[ERROR] Loading class 'java.util.logging.ConsoleHandler' failed

[ERROR] java.lang.ClassNotFoundException: java.util.logging.ConsoleHandler

[ERROR] 

[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.client.JerseyClientBuilder'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.client.JerseyClientBuilder</pattern></forceLinkClasses> to your robovm.xml file to link it in.

[ERROR] 

[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.client.JerseyClientBuilder'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.client.JerseyClientBuilder</pattern></forceLinkClasses> to your robovm.xml file to link it in.

[ERROR] 

[ERROR] java.lang.RuntimeException: java.lang.ClassNotFoundException: org.glassfish.jersey.client.JerseyClientBuilder

[ERROR] 

[ERROR] at javax.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:103)

[ERROR] at javax.ws.rs.client.ClientBuilder.newClient(ClientBuilder.java:114)

[ERROR] at org.robovm.samples.contractr.ios.ContractRApp.didFinishLaunching(ContractRApp.java:72)

[ERROR] at org.robovm.apple.uikit.UIApplicationDelegate$ObjCProxy.$cb$application$didFinishLaunchingWithOptions$(Unknown Source)

[ERROR] at org.robovm.apple.uikit.UIApplication.main(Native Method)

[ERROR] at org.robovm.apple.uikit.UIApplication.main(UIApplication.java:334)

[ERROR] at org.robovm.samples.contractr.ios.ContractRApp.main(ContractRApp.java:204)

[ERROR] Caused by: java.lang.ClassNotFoundException: org.glassfish.jersey.client.JerseyClientBuilder

[ERROR] 

[ERROR] at java.lang.VMClassLoader.findClassInClasspathForLoader(Native Method)

[ERROR] at java.lang.PathClassLoader.findClass(PathClassLoader.java:193)

[ERROR] at java.lang.ClassLoader.loadClass(ClassLoader.java:515)

[ERROR] at java.lang.ClassLoader.loadClass(ClassLoader.java:475)

[ERROR] at java.lang.Class.classForName(Native Method)

[ERROR] at java.lang.Class.forName(Class.java:218)

[ERROR] at java.lang.Class.forName(Class.java:176)

[ERROR] at javax.ws.rs.client.FactoryFinder.newInstance(FactoryFinder.java:115)

[ERROR] at javax.ws.rs.client.FactoryFinder.find(FactoryFinder.java:225)

[ERROR] at javax.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:86)

[ERROR] ... 6 more

[ERROR] 

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 01:45 min

[INFO] Finished at: 2015-02-09T09:20:35+01:00

[INFO] Final Memory: 68M/768M

[INFO] ------------------------------------------------------------------------

########

So I’ve added <pattern>org.glassfish.jersey.client.**</pattern> to forceLinkClasses but this did not help either and I’m getting:


#############

[INFO] Compiling RoboVM app, this could take a while, especially the first time round

[INFO] Linking 4584 classes (ios x86 release)

[ERROR] Loading class 'java.util.logging.ConsoleHandler' failed

[ERROR] java.lang.ClassNotFoundException: java.util.logging.ConsoleHandler

[ERROR] 

[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.client.internal.localization_en_US'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.client.internal.localization_en_US</pattern></forceLinkClasses> to your robovm.xml file to link it in.

[ERROR] 

[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.client.internal.localization_en'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.client.internal.localization_en</pattern></forceLinkClasses> to your robovm.xml file to link it in.

[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.client.internal.localization'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.client.internal.localization</pattern></forceLinkClasses> to your robovm.xml file to link it in.

[ERROR] 

[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.internal.RuntimeDelegateImpl'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.internal.RuntimeDelegateImpl</pattern></forceLinkClasses> to your robovm.xml file to link it in.

[ERROR] 

[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.internal.RuntimeDelegateImpl'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.internal.RuntimeDelegateImpl</pattern></forceLinkClasses> to your robovm.xml file to link it in.

[ERROR] 

[ERROR] java.lang.RuntimeException: java.lang.ClassNotFoundException: org.glassfish.jersey.internal.RuntimeDelegateImpl

[ERROR] 

[ERROR] at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:152)

[ERROR] at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:120)

[ERROR] at javax.ws.rs.core.UriBuilder.newInstance(UriBuilder.java:95)

[ERROR] at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:119)

[ERROR] at org.glassfish.jersey.client.JerseyWebTarget.<init>(JerseyWebTarget.java:71)

[ERROR] at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:185)

[ERROR] at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:70)

[ERROR] at org.robovm.samples.contractr.ios.ContractRApp.didFinishLaunching(ContractRApp.java:71)

[ERROR] at org.robovm.apple.uikit.UIApplicationDelegate$ObjCProxy.$cb$application$didFinishLaunchingWithOptions$(Unknown Source)

[ERROR] at org.robovm.apple.uikit.UIApplication.main(Native Method)

[ERROR] at org.robovm.apple.uikit.UIApplication.main(UIApplication.java:334)

[ERROR] at org.robovm.samples.contractr.ios.ContractRApp.main(ContractRApp.java:204)

[ERROR] Caused by: java.lang.ClassNotFoundException: org.glassfish.jersey.internal.RuntimeDelegateImpl

[ERROR] 

[ERROR] at java.lang.VMClassLoader.findClassInClasspathForLoader(Native Method)

[ERROR] at java.lang.PathClassLoader.findClass(PathClassLoader.java:193)

[ERROR] at java.lang.ClassLoader.loadClass(ClassLoader.java:515)

[ERROR] at java.lang.ClassLoader.loadClass(ClassLoader.java:475)

[ERROR] at java.lang.Class.classForName(Native Method)

[ERROR] at java.lang.Class.forName(Class.java:218)

[ERROR] 

[ERROR] at java.lang.Class.forName(Class.java:176)

[ERROR] at javax.ws.rs.ext.FactoryFinder.newInstance(FactoryFinder.java:115)

[ERROR] at javax.ws.rs.ext.FactoryFinder.find(FactoryFinder.java:225)

[ERROR] at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:135)

[ERROR] ... 11 more

[ERROR] 

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

###################

Despite the “SUCCESS” message, the response from Jersey is not visible (I’ve used Foundation.log()) on the standard output. I’ve also added
<pattern>java.util.logging.**</pattern>
<pattern>org.glassfish.jersey.internal.RuntimeDelegateImpl</pattern>

but this does not help either. And I cannot add 

[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.client.internal.localization_en_US'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.client.internal.localization_en_US</pattern></forceLinkClasses> to your robovm.xml file to link it in.

[ERROR] 

[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.client.internal.localization_en'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.client.internal.localization_en</pattern></forceLinkClasses> to your robovm.xml file to link it in.

[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.client.internal.localization'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.client.internal.localization</pattern></forceLinkClasses> to your robovm.xml file to link it in.

because org.glassfish.jersey.client.internal.localization_en_US are not available as those are not a package nor a class.


You can easily reproduce this issue by cloning the mentioned repository branch and running mvn clean compile robovm:iphone-sim inside robovm-samples/ContractR/ios.


._.

Michael Pujos

unread,
Feb 9, 2015, 7:37:00 PM2/9/15
to rob...@googlegroups.com
You need to add the required dependencies to the classpath. Look into Jersey pom.xml to learn what they are and get it from maven.



Alexander Orlov

unread,
Feb 10, 2015, 8:42:01 AM2/10/15
to rob...@googlegroups.com
I’ve added all dependencies from jersey-client as you might see here: https://github.com/loxal/robovm-samples/commit/332f66a6e550ede542b6e98b9be71036fdf3f103

Still I get the same error message:

[INFO] Linking 6355 classes (ios x86 release)
[ERROR] [WARN] android.System: A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
[ERROR] 
[ERROR] [WARN] android.System: java.lang.Throwable: Explicit termination method 'close' not called
[ERROR] at dalvik.system.CloseGuard.open(CloseGuard.java:184)
[ERROR] at java.io.RandomAccessFile.<init>(RandomAccessFile.java:128)
[ERROR] at java.io.RandomAccessFile.<init>(RandomAccessFile.java:150)
[ERROR] at java.util.zip.ZipFile.<init>(ZipFile.java:149)
[ERROR] at java.util.zip.ZipFile.<init>(ZipFile.java:115)
[ERROR] at java.lang.PathClassLoader.init(PathClassLoader.java:141)
[ERROR] at java.lang.PathClassLoader.findResource(PathClassLoader.java:208)
[ERROR] at java.lang.ClassLoader.getResource(ClassLoader.java:409)
[ERROR] at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:448)
[ERROR] at javax.ws.rs.client.FactoryFinder.find(FactoryFinder.java:158)
[ERROR] at javax.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:86)
[ERROR] at javax.ws.rs.client.ClientBuilder.newClient(ClientBuilder.java:114)
[ERROR] at org.robovm.samples.contractr.ios.ContractRApp.didFinishLaunching(ContractRApp.java:70)
[ERROR] at org.robovm.apple.uikit.UIApplicationDelegate$ObjCProxy.$cb$application$didFinishLaunchingWithOptions$(Unknown Source)
[ERROR] at org.robovm.apple.uikit.UIApplication.main(Native Method)
[ERROR] at org.robovm.apple.uikit.UIApplication.main(UIApplication.java:334)
[ERROR] at org.robovm.samples.contractr.ios.ContractRApp.main(ContractRApp.java:204)
[ERROR] 
[ERROR] 
[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.client.internal.localization_en_US'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.client.internal.localization_en_US</pattern></forceLinkClasses> to your robovm.xml file to link it in.
[ERROR] 
[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.client.internal.localization_en'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.client.internal.localization_en</pattern></forceLinkClasses> to your robovm.xml file to link it in.
[ERROR] 
[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.client.internal.localization'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.client.internal.localization</pattern></forceLinkClasses> to your robovm.xml file to link it in.
[ERROR] 
[ERROR] Feb 10, 2015 2:41:13 PM org.glassfish.hk2.internal.ServiceLocatorFactoryImpl getGenerator
[ERROR] WARNING: Cannot find a default implementation of the HK2 ServiceLocatorGenerator
[ERROR] 
[ERROR] java.lang.RuntimeException: java.lang.ClassNotFoundException: Provider org.glassfish.jersey.internal.RuntimeDelegateImpl could not be instantiated: java.lang.InstantiationException
On Tuesday, February 10, 2015 at 1:37:00 AM UTC+1, Michael Pujos wrote:
You need to add the required dependencies to the classpath. Look into Jersey pom.xml to learn what they are and get it from maven.




._.

Michael Pujos

unread,
Feb 12, 2015, 5:39:57 PM2/12/15
to rob...@googlegroups.com
RoboVM is discarding a class that is needed at runtime.

Try using -forceLinkClasses org.glassfish.jersey.internal.RuntimeDelegateImpl

Maybe it is another class that is needed or even several classes.
Sometimes you must look to the source code to find why some classes are not found.

Alexander Orlov

unread,
Feb 13, 2015, 2:09:52 PM2/13/15
to rob...@googlegroups.com
Thanks for your reply, Michael. As you can see here https://github.com/loxal/robovm-samples/blob/332f66a6e550ede542b6e98b9be71036fdf3f103/ContractR/ios/robovm.xml I’ve declared also this class to be linked. And I’ve even added <pattern>org.glassfish.jersey.**</pattern> which should include all classes of the package? Still with Beta 4, I’m getting the same result:

[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.client.internal.localization_en_US'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.client.internal.localization_en_US</pattern></forceLinkClasses> to your robovm.xml file to link it in.

[ERROR] 

[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.client.internal.localization_en'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.client.internal.localization_en</pattern></forceLinkClasses> to your robovm.xml file to link it in.

[ERROR] 

[ERROR] [WARN] java.lang.Class: Class.forName() failed to load 'org.glassfish.jersey.client.internal.localization'. Use the -forcelinkclasses command line option or add <forceLinkClasses><pattern>org.glassfish.jersey.client.internal.localization</pattern></forceLinkClasses> to your robovm.xml file to link it in.

[ERROR] 

[ERROR] Feb 13, 2015 8:05:21 PM org.glassfish.hk2.internal.ServiceLocatorFactoryImpl getGenerator

[WARNING] WARNING: Cannot find a default implementation of the HK2 ServiceLocatorGenerator

[ERROR] 

[ERROR] java.lang.RuntimeException: java.lang.ClassNotFoundException: Provider org.glassfish.jersey.internal.RuntimeDelegateImpl could not be instantiated: java.lang.InstantiationException

[ERROR] 

[ERROR] at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:152)

[ERROR] at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:120)

[ERROR] at javax.ws.rs.core.UriBuilder.newInstance(UriBuilder.java:95)

[ERROR] at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:119)

[ERROR] at org.glassfish.jersey.client.JerseyWebTarget.<init>(JerseyWebTarget.java:71)

[ERROR] at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:185)

[ERROR] at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:70)

[ERROR] at org.robovm.samples.contractr.ios.ContractRApp.didFinishLaunching(ContractRApp.java:71)

[ERROR] at org.robovm.apple.uikit.UIApplicationDelegate$ObjCProxy.$cb$application$didFinishLaunchingWithOptions$(Unknown Source)

[ERROR] at org.robovm.apple.uikit.UIApplication.main(Native Method)

[ERROR] at org.robovm.apple.uikit.UIApplication.main(UIApplication.java:334)

[ERROR] at org.robovm.samples.contractr.ios.ContractRApp.main(ContractRApp.java:204)

[ERROR] Caused by: java.lang.ClassNotFoundException: Provider org.glassfish.jersey.internal.RuntimeDelegateImpl could not be instantiated: java.lang.InstantiationException

[ERROR] at javax.ws.rs.ext.FactoryFinder.newInstance(FactoryFinder.java:122)

[ERROR] at javax.ws.rs.ext.FactoryFinder.find(FactoryFinder.java:225)

[ERROR] at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:135)

[ERROR] ... 11 more

[ERROR] Caused by: java.lang.InstantiationException

[ERROR] 

[ERROR] at java.lang.Class.newInstance(Class.java:1009)

[ERROR] at javax.ws.rs.ext.FactoryFinder.newInstance(FactoryFinder.java:118)

[ERROR] ... 13 more

[ERROR] 

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 27.487 s

[INFO] Finished at: 2015-02-13T20:05:21+01:00

[INFO] Final Memory: 86M/1062M


._.

Alexander Orlov

unread,
Feb 15, 2015, 9:45:27 PM2/15/15
to rob...@googlegroups.com
Could someone check which class is actually missing please. You can do it very quickly, just follow this “script” :)

git clone g...@github.com:loxal/robovm-samples.git
cd robovm-samples
git checkout jersey-is-not-working
cd ContractR/ios
mvn clean compile robovm:iphone-sim

I have no idea which class is actually missing in the forceLinkClasses list.

On Thursday, February 12, 2015 at 11:39:57 PM UTC+1, Michael Pujos wrote:

._.

Niklas Therning

unread,
Feb 17, 2015, 3:57:02 AM2/17/15
to Alexander Orlov, rob...@googlegroups.com
Adding

    <pattern>org.jvnet.hk2.external.generator.ServiceLocatorGeneratorImpl</pattern>

will take you a little bit further.

Just a word of caution: searching SO it seems like others have problems getting jersey-client to work on Android. If it doesn't work on Android it is unlikely to work on RoboVM since we use the Android runtime class library in RoboVM. Also, jersey-client seems to pull in A LOT of dependencies. Isn't there any more lightweight REST client lib out there?



--
You received this message because you are subscribed to the Google Groups "RoboVM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to robovm+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Alexander Orlov

unread,
Feb 17, 2015, 10:58:48 AM2/17/15
to rob...@googlegroups.com, alexand...@loxal.net
It took me a bit further but still there is a bunch of dependencies missing and simply adding the ClassNotFound package namespaces does not solve the problem.
Is there a way to transitively pull-in all the dependencies?

Why Jersey? Well, because it’s the references implementation of JAX-RS, works well, is widespread, I know it well and already wrote some code based on this library. The usual reasons… :)

._.

Michael Pujos

unread,
Feb 25, 2015, 8:59:57 AM2/25/15
to rob...@googlegroups.com, alexand...@loxal.net

For reference, I got RESTEasy 2.3.6 to work fine on Android and RoboVM. It can be used as a replacement to Jersey.

Alexander Orlov

unread,
Feb 25, 2015, 9:14:50 AM2/25/15
to rob...@googlegroups.com, alexand...@loxal.net
Cool, thanks for your hint Michael!


On Wednesday, February 25, 2015 at 2:59:57 PM UTC+1, Michael Pujos wrote:

For reference, I got RESTEasy 2.3.6 to work fine on Android and RoboVM. It can be used as a replacement to Jersey.

._.

Alexander Orlov

unread,
Mar 6, 2015, 9:18:49 PM3/6/15
to rob...@googlegroups.com, alexand...@loxal.net
I’ve just tried 

<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
<version>3.0.10.Final</version>
</dependency>

and after adding tons of packages to forceLinkClasses I got stuck at the same point where I got stuck with Jersey. Could you provide me with the Maven dependency you were using?

Also I tried 
<dependency>
<groupId>com.netflix.rxjava</groupId>
<artifactId>rxjava-apache-http</artifactId>
<version>0.20.7</version>
<scope>compile</scope>
</dependency>

which is even leaner than Jersey or RESTEasy and I have not got any transitivity issues but with rxjava-apache-http I got stuck at the point where an SSL algorithm that was expected by the library that was not provided by the RoboVM runtime. 

On Wednesday, February 25, 2015 at 2:59:57 PM UTC+1, Michael Pujos wrote:

For reference, I got RESTEasy 2.3.6 to work fine on Android and RoboVM. It can be used as a replacement to Jersey.

._.

Alexander Orlov

unread,
Mar 7, 2015, 1:17:26 AM3/7/15
to rob...@googlegroups.com, alexand...@loxal.net
After adjusting robovm-rt code like outlined in this pull request https://github.com/robovm/robovm/pull/831 I’ve manged to get the library https://github.com/ReactiveX/RxApacheHttp to work within RoboVM. Ok, “kind of” at least. Actually nothing is really working. This code

try {
CloseableHttpAsyncClient httpClient = HttpAsyncClients.createMinimal();
httpClient.start();
while(httpClient.isRunning())
System.out.println("blah");
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}

leads to… 

Mar  7 07:12:29 MUCM31654555A assertiond[50896]: assertion failed: 14C109 12B411: assertiond + 11523 [3F572A0B-7E12-378D-AFEE-EA491BAF2C36]: 0x1
Mar  7 07:12:29 MUCM31654555A com.apple.CoreSimulator.SimDevice.3B048752-6D3C-4414-88EF-57978C424CCF.launchd_sim[50881] (com.apple.imfoundation.IMRemoteURLConnectionAgent): The _DirtyJetsamMemoryLimit key is not available on this platform.
Mar  7 07:12:29 MUCM31654555A HelloWorld[52059]: assertion failed: 14C109 12B411: libxpc.dylib + 69090 [A854576A-3D30-3BF9-B2EC-B36C4B9E393C]: 0x7d
Mar  7 07:12:30 MUCM31654555A assertiond[50896]: assertion failed: 14C109 12B411: assertiond + 11523 [3F572A0B-7E12-378D-AFEE-EA491BAF2C36]: 0x1
Mar  7 07:12:30 --- last message repeated 1 time ---
Mar  7 07:12:30 MUCM31654555A SpringBoard[50892]: [MPUSystemMediaControls] Updating supported commands for now playing application.

…when executed with robovm:iphone-sim. When I deploy the same app to a native iPhone 6, the app crashes at the same point as it reaches the code above. Actually it crashes exactly at
    CloseableHttpAsyncClient httpClient = HttpAsyncClients.createMinimal();
…without any further messages (did not checked the hardware iPhone 6 log though).

._.

Alexander Orlov

unread,
Mar 7, 2015, 2:25:07 AM3/7/15
to rob...@googlegroups.com, he...@robovm.com
Ok, I just managed to get Jersey to compile and… stay broken. Apparently the missing “classes“ that I was talking about in my previous post were reported as classes but actually those were missing l10n *.properties files that were not present in the actual Jersey library. Only “localization.properties” was provided but not files like “localization_en.properties”, “and localization_en_US.properties” that were apparently expected by the compiler? However providing these resource files did not help. I had to create actual classes with the package/name combination to satisfy the compiler. Now it compiles and the application starts up on both the simulator and the actual iPhone 6 hardware but it crashes on the simulator with the same error message as rxjava-apache-http:

3B048752-6D3C-4414-88EF-57978C424CCF.launchd_sim[50881] (com.apple.imfoundation.IMRemoteURLConnectionAgent): The _DirtyJetsamMemoryLimit key is not available on this platform.


._.

Niklas Therning

unread,
Mar 7, 2015, 4:47:43 AM3/7/15
to rob...@googlegroups.com
You can use <forceLinkClasses><pattern>**.*</pattern></forceLinkClasses> to pull in every class from your classpath. But that doesn't seem to be your problem any longer...


._.

--
Reply all
Reply to author
Forward
0 new messages