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();