Hi Freeman,

I updated to the PAX version as advised but now I get a Karaf start up issue 
when I try to run my test and I get the same result when I remove my custom 
configuration of the Karaf container:

[main] INFO org.ops4j.pax.exam.spi.DefaultExamSystem - Pax Exam System 
(Version: 4.13.1) created.
[main] INFO org.ops4j.pax.exam.junit.impl.ProbeRunner - creating PaxExam runner 
for class com.javatechnics.flexfx.boot.DeployFlexFxTest
[main] INFO org.ops4j.pax.exam.junit.impl.ProbeRunner - running test class 
com.javatechnics.flexfx.boot.DeployFlexFxTest
[main] INFO org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer - 
Creating RMI registry server on 127.0.0.1:21000
[main] INFO org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer - 
Found 0 options when requesting OverrideJUnitBundlesOption.class
[main] INFO org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer - 
Wait for test container to finish its initialization [ RelativeTimeout value = 
180000 ]
[main] INFO org.ops4j.pax.exam.rbc.client.RemoteBundleContextClient - Waiting 
for remote bundle context.. on 21000 name: 572ce6a6-fc5b-4884-a699-2c7a0132875e 
timout: [ RelativeTimeout value = 180000 ]
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by 
org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender
 
(file:/home/kerry/intellijprojects/flexfx/it/tests/target/paxexam/unpack/106f6824-a4ac-4a12-af4b-aecdd0b6bd9c/system/org/apache/felix/org.apache.felix.framework/5.6.10/org.apache.felix.framework-5.6.10.jar)
 to method java.net.URLClassLoader.addURL(java.net.URL)
WARNING: Please consider reporting this to the maintainers of 
org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender
WARNING: Use --illegal-access=warn to enable warnings of further illegal 
reflective access operations
WARNING: All illegal access operations will be denied in a future release

java.lang.RuntimeException: Container never came up
    at 
org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer.stop(KarafTestContainer.java:629)
    at 
org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.tearDown(EagerSingleStagedReactor.java:118)
    at 
org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.afterClass(EagerSingleStagedReactor.java:132)
    at 
org.ops4j.pax.exam.spi.reactors.ReactorManager.afterClass(ReactorManager.java:441)
    at org.ops4j.pax.exam.junit.impl.ProbeRunner.run(ProbeRunner.java:107)
    at org.ops4j.pax.exam.junit.PaxExam.run(PaxExam.java:93)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at 
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    at 
com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
    at 
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

Process finished with exit code 254

java.lang.RuntimeException: Cannot get the remote bundle context

    at 
org.ops4j.pax.exam.rbc.client.intern.RemoteBundleContextClientImpl.getRemoteBundleContext(RemoteBundleContextClientImpl.java:261)
    at 
org.ops4j.pax.exam.rbc.client.intern.RemoteBundleContextClientImpl.waitForState(RemoteBundleContextClientImpl.java:218)
    at 
org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer.waitForState(KarafTestContainer.java:659)
    at 
org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer.startKaraf(KarafTestContainer.java:262)
    at 
org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer.start(KarafTestContainer.java:194)
    at 
org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.setUp(EagerSingleStagedReactor.java:86)
    at 
org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.beforeClass(EagerSingleStagedReactor.java:136)
    at 
org.ops4j.pax.exam.spi.reactors.ReactorManager.beforeClass(ReactorManager.java:457)
    at org.ops4j.pax.exam.junit.impl.ProbeRunner.run(ProbeRunner.java:97)
    at org.ops4j.pax.exam.junit.PaxExam.run(PaxExam.java:93)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at 
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    at 
com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
    at 
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: java.rmi.NotBoundException: 572ce6a6-fc5b-4884-a699-2c7a0132875e
    at java.rmi/sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:234)
    at 
java.rmi/sun.rmi.registry.RegistryImpl_Skel.dispatch(RegistryImpl_Skel.java:115)
    at 
java.rmi/sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:467)
    at 
java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:297)
    at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
    at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
    at 
java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
    at 
java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
    at 
java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at 
java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
    at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
    at 
java.rmi/sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:283)
    at 
java.rmi/sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:260)
    at java.rmi/sun.rmi.server.UnicastRef.invoke(UnicastRef.java:375)
    at 
java.rmi/sun.rmi.registry.RegistryImpl_Stub.lookup(RegistryImpl_Stub.java:119)
    at 
org.ops4j.pax.exam.rbc.client.intern.RemoteBundleContextClientImpl.getRemoteBundleContext(RemoteBundleContextClientImpl.java:248)
    ... 14 more

I'm using Oracle Java 11.0.1

On 26/12/2018 23:01, Freeman Fang wrote:
> Hi,
>
> Please use PAX-EXAM 4.13.1, which will address this issue.
>
> Cheers
> -------------
> Freeman(Yue) Fang
>
> Red Hat, Inc. 
>
>
>
>
>
>> On Dec 27, 2018, at 2:42 AM, Kerry <[email protected] 
>> <mailto:[email protected]>> wrote:
>>
>> Thanks Freeman. I've ended up using
>>
>> new VMOption("-p"), new VMOption("/usr/lib/jvm/jfx1.11.0/lib"),
>> new VMOption("--add-modules"), new 
>> VMOption("javafx.base,javafx.controls,javafx.fxml,javafx.graphics")
>>
>> Which seems to do the trick but I've got a Karaf start up issue now to solve:
>>
>> Cannot access RandomAccessFile java.io.FileNotFoundException: /karaf.log 
>> (Permission denied) java.io.FileNotFoundException: /karaf.log (Permission 
>> denied)
>>
>> Looks like it's looking in the root directory for the log file so something 
>> must be different about the configuration and need to work out what has 
>> changed (I've previously had the tests working under earlier versions of 
>> Karaf and Java)
>>
>>
>> Kerry
>>
>> On 23/12/2018 23:21, Freeman Fang wrote:
>>>
>>> -------------
>>> Freeman(Yue) Fang
>>>
>>> Red Hat, Inc. 
>>>
>>>
>>>
>>>
>>>
>>>> On Dec 24, 2018, at 4:38 AM, Kerry <[email protected] 
>>>> <mailto:[email protected]>> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I'm trying to to get my project FlexFx to work on Java 11 with OpenJFX 11 
>>>> inside Karaf 4.2.2 and have so far managed to get it to work by manually 
>>>> deploying the OpenJFX jars to the `jdk9plus` folder of Karaf.
>>>>
>>>> I am now trying to update the integration tests which use Pax Exam and 
>>>> because JavaFX is no longer part of the JDK-11 I need to include these in 
>>>> the Karaf configuration. To begin with I tried this:
>>>>
>>>> bootClasspathLibraries(
>>>>     new 
>>>> BootClasspathLibraryOption(mavenBundle().artifactId(OPENJFX_BASE_ARTIFACT_ID).groupId(OPENJFX_GROUP_ID).version(OPENFX_VERSION)),
>>>>     new 
>>>> BootClasspathLibraryOption(mavenBundle().artifactId(OPENJFX_CONTROLS_ARTIFACT_ID).groupId(OPENJFX_GROUP_ID).version(OPENFX_VERSION)),
>>>>     new 
>>>> BootClasspathLibraryOption(mavenBundle().artifactId(OPENJFX_FXML_ARTIFACT_ID).groupId(OPENJFX_GROUP_ID).version(OPENFX_VERSION)))
>>>>
>>>> but this only put the artifacts into the lib folder not `lib/jdk9plus`
>>>
>>> Then I think you can add 
>>>
>>> new VMOption("-classpath"),
>>>                 new VMOption(“lib/whatever_yourlib_is")
>>>
>>>>
>>>> Also (and this is where I am still new and confused with the Java9 + 
>>>> module system) the above artifacts are not the actual ones I used when I 
>>>> manually installed OpenJFX to Karaf. I manually installed the SDK from 
>>>> gluon (https://gluonhq.com/products/javafx/) and this zip file includes 
>>>> native libraries as well as JARs. These are what I think I should be 
>>>> installing automatically but I'm uncertain how I can go about this with 
>>>> PaxExam.
>>>>
>>>> Does anyone have any suggestions?
>>>>
>>>> Thanks, Kerry.
>>>>
>>>>
>>>
>

Reply via email to