Исполняемый файл войны, который запускает причал без Maven

Я пытаюсь сделать "исполняемый" файл войны (java -jar myWarFile.war), который запустит веб-сервер Jetty, на котором размещено веб-приложение, содержащееся в файле WAR, который я выполнил.

я нашелстраница что описано как сделать то что я ищу:

Однако, следуя этому совету вместе с тем, как я думаю, что я должен сделать исполняемый jar (война), не работает.

У меня есть задача Ant создания файла WAR с манифестом, который выглядит следующим образом:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 1.5.0_18-b02 (Sun Microsystems Inc.)
Main-Class: Start

Содержимое файла WAR выглядит следующим образом:

> Start.class
> jsp
>   build.jsp 
> META-INF  
>   MANIFEST.MF
> WEB-INF
>   lib
>     jetty-6.1.22.jar
>     jetty-util.6.1.22.jar

Когда я пытаюсь выполнить файл WAR, возникает ошибка:

Exception in thread "main" java.lang.NoClassDefFoundError: org/mortbay/jetty/Handler
Caused by: java.lang.ClassNotFoundException: org.mortbay.jetty.Handler
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: Start. Program will exit.

Кажется, здесь есть две ошибки: одна, где кажется, что JAR-файлы не могут быть найдены, и одна, гдеStart класс не может быть найден.

Чтобы исправить первый, я поместил JAR-файлы Jetty в базу WAR-файла и повторил попытку - та же ошибка. Я также попытался добавитьWEB-INF/lib/<specific-JAR-files> кClass-Path атрибут манифеста. Это тоже не сработало.

Есть ли у кого-нибудь понимание того, что я делаю правильно / неправильно, и как я могу запустить и запустить этот исполняемый файл WAR?

Ответы на вопрос(9)

Ваш ответ на вопрос