我正在努力创建运行Jetty应用程序并同时启动.war包的最基本示例。我发现的所有内容都只是将.war放在“$ JETTY_HOME / webapps”中,但我不确定如何验证“$ JETTY_HOME”是什么。我正在尝试扩展在https://github.com/heroku/java-getting-started.git
找到的简单的heroku默认应用程序。我的目录结构:
src/
-- main/
---- java/
------ Main.java
target/
-- (lots of stuff in here)
pom.xml
Procfile
webapps/
-- workbench.war
我使用java -cp target/classes:target/dependency/* Main
运行我的应用程序。
Main.java
与https://raw.githubusercontent.com/heroku/java-getting-started/master/src/main/java/Main.java相同。
如何让这个应用程序运行.war文件?每当我访问localhost:5000/workbench
时,我只看到“Hello World”,我应该看到workbench.war
中包含的Workbench应用程序。
答案 0 :(得分:1)
我想您正在尝试在您的应用程序中运行jetty,并希望它能够提供war文件。检查此链接 http://www.eclipse.org/jetty/documentation/current/embedded-examples.html#embedded-one-webapp
答案 1 :(得分:1)
如果它只是一场战争,那么就这样做。
package org.eclipse.jetty.demo;
import org.eclipse.jetty.annotations.AnnotationConfiguration;
import org.eclipse.jetty.plus.webapp.EnvConfiguration;
import org.eclipse.jetty.plus.webapp.PlusConfiguration;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.Configuration;
import org.eclipse.jetty.webapp.FragmentConfiguration;
import org.eclipse.jetty.webapp.JettyWebXmlConfiguration;
import org.eclipse.jetty.webapp.MetaInfConfiguration;
import org.eclipse.jetty.webapp.TagLibConfiguration;
import org.eclipse.jetty.webapp.WebAppContext;
import org.eclipse.jetty.webapp.WebInfConfiguration;
import org.eclipse.jetty.webapp.WebXmlConfiguration;
public class EmbedMe
{
public static void main(String[] args) throws Exception
{
int port = 8080;
Server server = new Server(port);
String warpath = "webapps/workbench.war";
WebAppContext context = new WebAppContext();
context.setResourceBase(warpath);
context.setConfigurations(new Configuration[]
{
new AnnotationConfiguration(),
new WebInfConfiguration(),
new WebXmlConfiguration(),
new MetaInfConfiguration(),
new FragmentConfiguration(),
new EnvConfiguration(),
new PlusConfiguration(),
new JettyWebXmlConfiguration()
});
context.setContextPath("/");
context.setParentLoaderPriority(true);
server.setHandler(context);
server.start();
server.join();
}
}