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