Tag: 战争

将jetty服务器嵌入到Android应用程序中

到目前为止,我正在尝试将示例Android应用程序安装到嵌入式android jetty web服务器,从而能够从Google代码运行示例hello-3.1.war。 当我在eclipse中运行hello-3.1时,就发生了空指针exception。 HTTP ERROR 500 Problem accessing /hello-3.1/sayit. Reason: INTERNAL_SERVER_ERROR Caused by: java.lang.NullPointerException at org.mortbay.ijetty.hello.HelloWorld.init(HelloWorld.java:29) at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440) at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) Powered by Jetty:// Hello-3.1 […]

无法将.war应用程序部署到GlassFish 3.1.2

我有一个.war应用程序模块,可以成功部署,无需任何奇怪的更改和服务器调整。 但是,我无法将此应用程序部署到GF 3.1.2:服务器抛出以下exception: java.lang.Exception:java.lang.IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:org.apache.catalina.LifecycleException:java.lang.NoSuchFieldError:theInstance 我做错了什么? 有人建议我吗? 是否有成功部署.war模块的其他设置? 非常感谢提前。 UPD 更精确的日志条目: javax.xml.bind.JAXBException:无法实例化提供程序com.sun.xml.bind.ContextFactory_1_0_1:javax.xml.bind.JAXBException – 包含链接exception:[java.lang.NoSuchFieldError:theInstance] – 链接exception:[javax.xml.bind.JAXBException – 带链接exception:[java.lang.NoSuchFieldError:theInstance]]

升级到Jetty 9.3后的标头解析错误

当我将docker发行版从9.2更改为9.3时,我遇到了问题。 在9.2下我的应用程序完美无缺,但是当运行相同的war文件并从同一客户端连接时,我在9.3下运行时收到以下错误消息: 015-08-30 14:55:32.174:WARN:oejh.HttpParser:qtp1100439041-12: Illegal character 0x20 in state=HEADER_IN_NAME for buffer HeapByteBuffer@26dab36[p=62,l=654,c=8192,r=592]={POST /api/v1/time…0.1:8080\r\nKey <<>>\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00…\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00} 2015-08-30 14:55:32.175:WARN:oejh.HttpParser:qtp1100439041-12: bad HTTP parsed: 400 Illegal character 0x20 for HttpChannelOverHttp@6765bf81{r=0,c=false,a=IDLE,uri=-} 根据我的理解,标题中有一个非法字符,但为什么一个版本抛出此错误而另一个版本没有? 我也使用Apache httpclient 4.4.1发送数据。

使用嵌入式jetty服务器运行Web应用程序(WAR)

我做了一个非常基本的Web应用程序,只有一个html页面。 我把它作为战争出口了。 现在我创建了一个嵌入式jetty服务器。 public class SimplestServer { public static void main(String[] args) throws Exception{ Server server = new Server(8000); WebAppContext webapp = new WebAppContext(); webapp.setContextPath(“/”); webapp.setWar(“C:\\Users\\User\\Desktop\\jetty\\JettyWar.war”); server.setHandler(webapp); server.start(); server.join(); } } 我为这个嵌入式服务器创建了一个jar。 但是当我尝试通过嵌入式服务器运行我的Web应用程序时,我收到以下错误。 C:\ Users \ User> java -jar C:\ Users \ User \ Desktop \ jetty \ webServer.jar C:\ Users \ User> java -jar […]

将现有eclipse项目导出到war文件时,“模块名称无效”

我试图将现有的Eclipse项目导出到war文件。 但无论我在“WAR导出”对话框页面中输入什么,系统始终返回“模块名称无效”。 我不知道如何解决这个问题。 谢谢您的帮助。

如何在嵌入式Jetty 8中部署WAR?

使用以下代码,如何部署位于类路径上的WAR应用程序? private Server s; @BeforeClass public static void setUp() throws Exception { // Start http server Random r = new Random(); int port = 1024 + r.nextInt(8976); s = new Server(new InetSocketAddress(“127.0.0.1”, port)); // Add my WAR for deployment here … s.start(); } Jetty 8.0.1 JDK 6

Maven字符串替换文本Web资源

我有一个带有文本文件的Maven Web应用程序 的src /主/ web应用/ textfilesdir 据我了解,在包阶段,这个textfilesdir目录将被复制到 目标/项目-1.0-快照 目录,然后压缩成一个 目标/项目-1.0-SNAPSHOT.war 问题 现在,我需要在target / project-1.0-SNAPSHOT / textfilesdir中对文本文件的内容进行字符串替换。 然后必须在将textfilesdir复制到target / project-1.0-SNAPSHOT之后但在创建target / project-1.0-SNAPSHOT.war文件之前完成此操作。 我相信这一切都是在包装阶段完成的。 插件(可能是maven-antrun-plugin)如何插入包阶段来执行此操作。 文本文件不包含要过滤的$ {property-name}等属性。 字符串替换可能是唯一的选择。 选项 在创建WAR之前,在复制到target / project-1.0-SNAPSHOT目录之后修改文本文件。 打包后,从WAR中提取文本文件,修改它们,然后将它们添加回WAR。 我想在这里有另一种选择,我很想念。 想什么?

如何将战争合二为一?

在我们公司,我们有许多不同的模块构建为单独的战争。 每个客户都可以挑选他想要购买的模块。 由于所有模块共享相同的会话,安全上下文等,因此将它们合并为单个战争是有意义的。 是否可以自动化此过程? 例如,它应该合并web.xml,计算每个wars依赖项,复制像.jsp和.class等文件。顺便说一句,我们使用Maven,但无法找到解决此问题的方法。

为单个maven项目创建两个工件(war)

我有一个Java Web项目,我们在两个不同客户的服务器上部署,99%的代码是相同的,现在我有两个ApplicationBuilders,它是包含每个客户的自定义的类。 每当我想部署新版本时,我必须手动注释一行,构建(使用maven),取消注释该行,注释另一行并再次构建。 public class ApplicationBuilderFactory { private static final IApplicationBuilder app; static { // app = new Customer1ApplicationBuilder() app = new Customer2ApplicationBuilder(); } } public static IApplicationBuilder get() { return app; } } 我想避免这一切,最好的事情可能就是创造两场不同的战争。 这样做的好方法是什么? 我不使用(也不喜欢)dependency injection框架,并且为一个类添加一个似乎有点过分,但我可能会考虑它。

如何将WAR文件添加到现有的EAR文件中?

有人可以向我解释如何将WAR文件添加到EAR中吗? 我有一个EAR文件已经包含一个WAR文件,我有另一个WAR文件,我想添加到这个EAR,所以它可以包含两个WAR并正常工作。 我不知道怎么做但我认为可以手动更改包含在EAR中的application.xml文件。 谢谢!