使用maven创建一个简单的osgi(部署到virgo 服务器)项目的最佳方法是什么,以使用 pom.xml maven 描述符创建一个战争结构?
结构目标是
*.jsp
*.html
META-INF
MANIFEST (OSGI-CONFIG)
WEB-INF
classes
lib
web.xml
然后当我创建一个项目
这是我的 pom.xml
项目属性
<groupId>com.aaaa</groupId>
<artifactId>first-maven-virgo-project</artifactId>
<version>1.0.0</version>
<packaging>war</packaging>
菲利克斯插件
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<supportedProjectTypes>
<supportedProjectType>war</supportedProjectType>
</supportedProjectTypes>
<instructions>
<Export-Package>com.roshka.servlet</Export-Package>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Bundle-ClassPath>.,WEB-INF/classes,{maven-dependencies}</Bundle-ClassPath>
<Embed-Directory>WEB-INF/lib</Embed-Directory>
<Embed-Dependency>*;scope=compile|runtime;</Embed-Dependency>
<Embed-Transitive>true</Embed-Transitive>
<Web-ContextPath>/hello</Web-ContextPath>
<Webapp-Context>hello</Webapp-Context>
</instructions>
</configuration>
</plugin>
但是,当我执行mvn install
打包时并没有创建MANIFEST
文件,而是打包到 METAINF 文件夹中。
我的 felix 项目有什么问题?创建 OSGI BUNDLE 和 WAR OSGI BUNDLE 的典型 pom.xml 模板是什么?
ps 如果我将WAR TO BUNDLE更改为 Packaging Maven 描述符,生成的 JAR 工作正常,生成的 MANIFEST 正常。但它不是WEB结构。