SpringDM初步使用(二)
介绍哈官方的第二个例子simple-web-app,注意最重要的还是你本地仓库一定要有项目用到的jar文件。
里面的内容和官方差不多,唯一的区别就是pom的配置。其实不管pom怎么变,只要jar能够成功到项目就ok。
simple-web-app包含了war,logging,integration-test
war是web项目核心,logging是日志,integration-test是对war的测试。
War就一个标准的web项目,唯一关注的就是MANIFEST.MF,
Web-ContextPath: simple-web-app
Bundle-ManifestVersion: 2
Bundle-Name: Simple OSGi War
Bundle-SymbolicName: org.springframework.osgi.samples.simplewebapp
Bundle-ClassPath: WEB-INF/classes
Import-Package: javax.servlet;version="2.4.0",
javax.servlet.http;version="2.4.0",
javax.servlet.resources;version="2.0.0",
javax.servlet.jsp;version="2.0.0",
javax.servlet.jsp.jstl.core;version="1.1.2",
javax.servlet.jsp.jstl.fmt;version="1.1.2",
javax.servlet.jsp.jstl.tlv;version="1.1.2",
org.apache.taglibs.standard.resources;version="1.1.2",
org.apache.taglibs.standard.tag.common.core;version="1.1.2",
org.apache.taglibs.standard.tag.rt.core;version="1.1.2",
org.apache.taglibs.standard.tei;version="1.1.2",
org.apache.taglibs.standard.tlv;version="1.1.2"
Web-ContextPath设置了该项目名。
Logging项目关注的也是MANIFEST.MF文件,
Bundle-ManifestVersion: 2
Bundle-Name: Log4j configuration bundle
Bundle-SymbolicName: org.springframework.osgi.samples.simplewebapp.logging.cfg
Fragment-Host: org.springframework.osgi.log4j.osgi
Fragment-Host的设置使得控制台可以打印信息.
运行测试类试试吧。
项目源码地址:
<!--EndFragment-->
integration-test项目只有一个测试类。要让该测试类能够正常运行,本地仓库一定要有如下文件。
并且将war和log4j.configuration两个项目install到本地仓库。
这里我把所有快照版本的jar修改成了普通jar
运行测试类试试吧。
项目源码地址:http://chenjun-java.googlecode.com/svn/spring-osgi/
下面就是怎么样在eclipse外部运行我们所开发的web项目。
1.做一个外部容器启动,下载地址:http://chenjun-java.googlecode.com/svn/spring-osgi/spring_osgi_server.rar
2.将打包好的war-1.2.1.war和log4j.configuration-1.2.1.jar复制到load里面。
3.运行run.bat
4.访问页面http://localhost:8080/simple-web-app/index.html可以看到效果啦。