Hi Jean-Baptiste,

I managed to start (well not completely) my spring application.
However, while starting up, I get an exception:

11:43:03.148 [main] ERROR o.s.boot.SpringApplication:837 - Application run 
failed
org.springframework.context.ApplicationContextException: Unable to start web 
server; nested exception is java.lang.NoClassDefFoundError: 
org/ietf/jgss/GSSException

Any ideas?

Also, I had to make modifications in SpringBootApplicationManagerService/start:

try {
            Thread.currentThread().setContextClassLoader(classLoader);
            // disable tomcat stream handler
            /* There is no TomcatURLStreamHandlerFactory in my spring jar
            final Method tomcat = 
classLoader.loadClass("org.apache.catalina.webresources.TomcatURLStreamHandlerFactory").getMethod("disable");
            if (!tomcat.isBridge()) {
                tomcat.setAccessible(true);
            }
            tomcat.invoke(null, null);
             */
            // invoke spring boot main
            final Method main = 
classLoader.loadClass("org.springframework.boot.loader.JarLauncher").getMethod("main",
 String[].class);
            main.setAccessible(true);
            log.info("Call JarLauncher");
            if (properties.get("args") != null) {
                log.info("Call JarLauncher with args");
                main.invoke(null, new Object[]{ properties.get("args") });
            } else {
                log.info("Call JarLauncher without args");
                main.invoke(null, new Object[]{new String[0]}); // the original 
invoke did not work for me
            }
        } finally {
            Thread.currentThread().setContextClassLoader(original);
        }

Further details:
- openjdk version "11.0.12" 2021-07-20
- invocation:
java -cp 
../karaf5/assemblies/k4/target/k4-5.0-SNAPSHOT.jar:target/e3web-test-1.0-SNAPSHOT.jar:../karaf5/services/spring-boot-application-manager/target/spring-boot-application-manager-5.0-SNAPSHOT.jar
 -Dkaraf.config=src/main/resources/karaf.json Main

Main.java:
###
public class Main {
    public static void main(String[] args){
        System.out.println("Starting Karaf");
        Karaf karaf = Karaf.builder().build();
        karaf.start();
    }
}
###

Best,

-- Jaap

|-----Oorspronkelijk bericht-----
|Van: Jean-Baptiste Onofré <j...@nanthrax.net>
|Verzonden: vrijdag 24 september 2021 10:34
|Aan: user@karaf.apache.org
|Onderwerp: Re: Karaf 5
|
|Hi Jaap,
|
|The presentation is available here:
|
|https://docs.google.com/presentation/d/1nDqd4oVbrggTDlwrzWc8zEdahKhcS
|VZJjlPk5FPxfBE/edit?usp=sharing
|
|Karaf 5 WIP is available here:
|
|https://github.com/jbonofre/karaf5
|
|I'm available on Slack or by email if you wanna chat about Karaf5.
|
|Regards
|JB
|
|On 24/09/2021 10:06, jgfrm wrote:
|> Hi,
|>
|> I have two questions about Karaf 5:
|> - is the presentation by Onofre at ApacheConf online somewhere?
|> - is it possible to explore Karaf 5 (or: what is there right now)? I
|> am in particular interested in the Spring Boot functionality, as I
|> have a Spring Boot application that I want to port to Karaf to support
|> dynamic loading of components. I have found the github repo of Onofre,
|> but it is unclear to me how e.g. to start Karaf.
|>
|> Best,
|>
|> -- Jaap
|>

Reply via email to