环境:
Eclipse Modeling Tools
Version: Indigo Service Release 2
Build id: 20120216-1857
操作系统:win7
tomcat: apache-tomcat-7.0.27
1、 简单操作(在bridge基础上再添加jar)
主页:
http://eclipse.org/equinox/server/http_in_container.php
http://eclipse.org/equinox/server/downloads/bridge.war
基本操作:
http://developer.51cto.com/art/200910/157948.htm
2、 通过eclipse product生成可运行的程序,然后嵌入到tomcat
(这里需要稍稍的了解类的加载。)
demo.zip 在 sample.http 的基础上增加了product打包功能,导入eclipse modeling后,打开/sample.server/server-web.product,点击·Launch an Eclipse application·,然后在浏览器中输入http://localhost/helloworld (启动后jetty默认端口为80)会看到“Hello World -- sample servlet”。
嵌入到tomcat,需要对bridge/WEB-INF/eclipse进行修改。
由于tomcat启动是已经加载了servlet-api(即javax.servlet),同时由于使用tomcat取代jetty作为容器。
1、 如果存在引用javax.servlet bundle。获取该插件的源码,分别打开${BUNDLE}/META-INF/MANIFEST.MF。切换到`Dependencies`页签,删除`Required Plug-ins`中javax.servlet,在`Imported Packages`中添加javax.servlet, javax.servlet.http。
2、 打开server-web.product,导出可运行的程序。
3、 文件处理
删除导出的 product-export/eclipse/plugins/ 下的 jetty.server 和 javax.servlet 的包。
同时,bridge/WEB-INF/eclipse/plugins仅保留org.eclipse.equinox.http.servletbridge和org.eclipse.update.configurator。(其他的包在product-export/eclipse/plugins/已经包含了)
拷贝 product-export\eclipse 下全部的文件到bridge/WEB-INF/eclipse
4、 配置文件bridge/WEB-INF/eclipse/configuration/config.ini
修改加载与启动的bundle。
打开config.ini, org.eclipse.update.configurator和org.eclipse.equinox.http.servletbridge; 删除 javax.servlet 和 org.mortbay.jetty.server 的加载项。
(仅进行了粗略的处理,org.eclipse.equinox.launcher应该也还可以去掉)
all-in-one.zip处理了后面的三个步骤,运行deploy.bat,然后把all-in-one/bridge/WEB-INF目录(是整个WEB-INF目录)拷贝到webapps/ROOT/目录下即可。
刚开始遇到同样的问题。在正常启动前,还没有处理掉javax.servlet插件。可能导致加载了不同jar中的的servlet类(javax.servlet bundle与servlet-api jar):
Reason: Missing Constraint: Import-Package:
org.eclipse.equinox.servletbridge; version="1.0.0"
http://www.eclipse.org/forums/index.php/mv/tree/34715/
查看的相关文章:
http://eclipse.org/equinox/server/http_in_container.php
http://www.geclipse.eu/fileadmin/Documents/Guides/deployment.pdf
http://eclipse.dzone.com/articles/embedding-osgi-tomcat
http://developer.51cto.com/art/200910/157948.htm
http://www.blogjava.net/Phrancol/articles/267508.html
源码地址:
:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/server-side/bundles/org.eclipse.equinox.http.servletbridge
:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/server-side/bundles/org.eclipse.equinox.servletbridge
https://github.com/winse/hello/tree/ca902237e03c05f13c7a3cf838de48c825d98dc4
相关推荐
HIGHLIGHT OSGi in Action is the definitive guide to OSGi, the hottest technology available for creating modular enterprise Java applications. DESCRIPTION What is OSGi? Simply put, OSGi is a ...
<embed src="path_to_your_media_file" width="320" height="240"> ``` 这里的`src`属性指定了要加载的媒体文件的URL,`width`和`height`属性定义了媒体的显示尺寸。 ### 二、embed的属性 1. **src**:必需属性,...
### embed标签使用详解 #### 一、概述 `embed`标签是HTML中用于播放多媒体对象的一个重要元素,如Flash、音频、视频等。通过合理的属性配置,开发者可以在网页上实现多媒体内容的有效展示与互动。 #### 二、基本...
tomcat-embed-core-9.0.16.jar
- **How a Servlet Works**: When a request is sent to a servlet, the servlet container creates a new instance of the servlet if one does not already exist. The `init()` method initializes the servlet, ...
要使用`<embed>`标签嵌入内容,必须通过其`src`属性来指定要嵌入的资源的URL地址,而且该URL地址必须包含具体的文件扩展名。这一点在尝试播放MP3音乐文件时尤为重要。例如,如果要嵌入一个MP3文件,`src`属性的值就...
例如,可以使用`Tomcat.embed()`方法在代码中直接启动一个Tomcat实例。 5. 生命周期回调方法:新增了`init()`、`destroy()`等方法的重载版本,可以接受` ServletConfig `或` ServletContext `参数,以便在初始化和...
最新的servlet-api.jar,完美结果java代码中注释(@)部分报错的问题
在网页开发中,`<embed>` 标签用于嵌入外部资源,如音频、视频、插件等。本文将深入探讨如何动态修改 `<embed>` 元素的 `src` 属性,以及这样做带来的实际效果和应用场景。 动态修改 `src` 属性是网页交互中的常见...
[Embed(source="path/to/resource.png")] public class EmbeddedImage extends BitmapAsset { //... } ``` 这里的`source`属性指定了要嵌入的资源路径,可以是相对路径或绝对路径。`EmbeddedImage`类表示了这个...
【embed标签】 embed标签是HTML中用于嵌入外部资源的元素,主要应用于网页中插入音频、视频等多媒体内容。由于HTML5的兴起,现在更多使用video和audio标签来处理多媒体,但embed仍然在某些场景下被使用,尤其是在...
1. **Tomcat Embed Core**: "tomcat-embed-core.jar"是Tomcat的核心组件,提供了Servlet容器的基础功能。它包含了处理HTTP请求、管理Servlet实例、执行生命周期管理和处理会话管理等功能。开发者可以利用这个模块在...
标题“Go-embed:另一个Golang静态内容嵌入器”暗示了`embed`包是Go语言中处理静态内容的一种方法。与其他第三方库相比,`embed`作为内置的解决方案,具有更好的性能和更低的依赖性。 描述“embed: 另一个Golang静态...
### AS3 Embed 用法详解 #### 一、引言 随着ActionScript 3.0 (简称AS3) 的普及与发展,开发人员越来越多地利用AS3进行Flash项目的开发。在AS3环境中,开发者不再像以前版本那样依赖于Flash IDE中的库来存储图形...
"Word 文档编辑技巧和快捷键总结" 本文档总结了 Word 文档编辑中的一些常用技巧和快捷键,涵盖了文档编辑、表格设置、图片插入、文字排版、格式设置等方面。 一、文档编辑技巧 1. 使用 Ctrl 键快速跳转到指定位置...