[ 
https://issues.apache.org/jira/browse/ISIS-2978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17509531#comment-17509531
 ] 

Miklós Győrfi commented on ISIS-2978:
-------------------------------------

Isis application uses concurrent initialization, but context class loader of 
the started tasks are the system class loader, not the class loader of Spring, 
which can unpack and load the jars in the boot jar. That is why the JAXB does 
not find the ContextFactory on these threads.  Good solution is to set the 
context class loader to the class loader of the _ConcurrentTask in its run 
method:
{code:java}
    @Override
    public final void run() {
         
Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
...
{code}

> Launch packaged SimpleApp 2.0.0-M7 throws JAXB exception
> --------------------------------------------------------
>
>                 Key: ISIS-2978
>                 URL: https://issues.apache.org/jira/browse/ISIS-2978
>             Project: Isis
>          Issue Type: Bug
>          Components: Isis Examples
>    Affects Versions: 2.0.0-M7
>            Reporter: Vladimir Nisevic
>            Priority: Major
>         Attachments: startup.txt
>
>
> h2. Problem description
> Followed guide 
> [https://isis.apache.org/docs/2.0.0-M7/starters/simpleapp.html#downloading-&-running]
>  
> My environment:
>  * Windows 10
>  * openjdk 11.0.2 2019-01-15
>  
> I use in all cases same JDK.
>  
> Launching from IDE (IntelliJ) works fine, but when launching the packaged JAR 
> with
> {code:java}
> somePath\isis-app-simpleapp-jdo\webapp\target> java -jar 
> .\simpleapp-jdo-webapp-2.0.0-M7-exec.jar  {code}
> I get next error - see attached log for whole startup log
> {code:java}
> Caused by: java.lang.ClassNotFoundException: 
> com.sun.xml.bind.v2.ContextFactory
>    at 
> jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) 
> ~[?:?]
>    at 
> jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
>  ~[?:?]
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
>    at 
> javax.xml.bind.ServiceLoaderUtil.nullSafeLoadClass(ServiceLoaderUtil.java:92) 
> ~[jakarta.xml.bind-api-2.3.3.jar!/:2.3.3]
>    at 
> javax.xml.bind.ServiceLoaderUtil.safeLoadClass(ServiceLoaderUtil.java:125) 
> ~[jakarta.xml.bind-api-2.3.3.jar!/:2.3.3]
>    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:230) 
> ~[jakarta.xml.bind-api-2.3.3.jar!/:2.3.3]
>    at javax.xml.bind.ContextFinder.find(ContextFinder.java:375) 
> ~[jakarta.xml.bind-api-2.3.3.jar!/:2.3.3]
>    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:691) 
> ~[jakarta.xml.bind-api-2.3.3.jar!/:2.3.3]
>    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:632) 
> ~[jakarta.xml.bind-api-2.3.3.jar!/:2.3.3]
>    at 
> org.apache.isis.commons.internal.resources._Xml.contextOf(_Xml.java:224) 
> ~[isis-commons-2.0.0-M7.jar!/:2.0.0-M7]
>    ... 15 more
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to