According to this article:
http://jowisoftware.de/blog/archives/26-Creating-runnable-wars-with-Maven-and-Jetty.html

When trying to run:

java -jar myproject.war

I get the main-class error:

Exception in thread "main" java.lang.NoClassDefFoundError:
com/myprjoect/path/to/main/ClassName

According to that article the issue is: "The problem is easy to understand:
when starting Java with -jar, it expects a "normal" file structure. So if
the Main-Class is "de.jowisoftware.Main", Java looks for
de/jowisoftware/Main.class. The classloader does not understand the
concept, that, in war files all class files are in WEB-INF/classes. If
jetty is included in the war file, it is included as a jar file, so the
classloader has to support nested archives. The default one doesn't.
Thankfully, there are solutions."

What options do I have, is it basically how the author of the blog posts
states?

Or is the alternative ways to embedding jetty and then launching it?


I have this:

ProtectionDomain protectionDomain = HttpServer.class.getProtectionDomain();
        String warFile =
protectionDomain.getCodeSource().getLocation().toExternalForm();
        String currentDir = new
File(protectionDomain.getCodeSource().getLocation().getPath()).getParent();

        WebAppContext webAppContext = new WebAppContext(warFile,
contextPath);

        resetTempDirectory(webAppContext, currentDir);

        webAppContext.setParentLoaderPriority(true);
        server.setHandler(webAppContext);

        server.start();
        server.join();
_______________________________________________
jetty-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to