将WAR OSGI文件(WAB)部署到glassfish 3.1服务器的正确过程是什么?
我正在将war文件复制到“glassfish3 \ glassfish \ domains \ domain1 \ autodeploy \ bundles \” - > OSGI将该文件识别为bundle并将其添加到其容器中。 但是,它不会将战争部署为Web应用程序(我无法访问其JSP)。 为了使它成为一个Web应用程序,我从glassfish管理控制台部署战争。
两次部署相同的战争是否正确? OSGI不应该将其部署为WEB和OSGI吗?
答案 0 :(得分:4)
为了让OSGI发现wab,我需要在创建WAB时将以下属性添加到“maven-bundle-plugin”:
<configuration>
<instructions>
<Web-ContextPath>/blabla</Web-ContextPath>
<Webapp-Context>/blabla</Webapp-Context>
</instructions>
</configuration>
使用此配置,war应仅复制到autodeploy / bundles。
可以在此处找到更多详细信息(和其他属性):http://leshazlewood.com/2010/09/08/osgi-maven-pax-and-web-applications/
答案 1 :(得分:0)
根据最终的OSGi EE规范,您只能使用Web-ContextPath。 Webapp-Context是一个中间名称。无需再次将WAB部署为WAR,如本线程中已经回答的那样。