Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ApacheFelix+;Java EE+;OSGi Web应用程序_Java_Maven_Maven 3_Maven Surefire Plugin - Fatal编程技术网

ApacheFelix+;Java EE+;OSGi Web应用程序

ApacheFelix+;Java EE+;OSGi Web应用程序,java,maven,maven-3,maven-surefire-plugin,Java,Maven,Maven 3,Maven Surefire Plugin,我正在构建一个具有一些JavaEE特性的OSGi应用程序。问题是,我正在寻找一种方法来打包应用程序及其所有依赖项,以便用户只执行jar文件,并执行OSGi框架以及OSGi应用程序和依赖项。然后用户只进入web浏览器并打开应用程序 我发现的第一个问题是在OSGi框架(ApacheFelix)中执行JavaEE应用程序以执行它。我应该将哪些依赖项导入Felix以启用JavaEE应用程序?我尝试过其他一些方法,如: 而且还没有通过JSF获得一个简单的JavaEE应用程序,在OSGi下工作。

我正在构建一个具有一些JavaEE特性的OSGi应用程序。问题是,我正在寻找一种方法来打包应用程序及其所有依赖项,以便用户只执行jar文件,并执行OSGi框架以及OSGi应用程序和依赖项。然后用户只进入web浏览器并打开应用程序

我发现的第一个问题是在OSGi框架(ApacheFelix)中执行JavaEE应用程序以执行它。我应该将哪些依赖项导入Felix以启用JavaEE应用程序?我尝试过其他一些方法,如:

而且还没有通过JSF获得一个简单的JavaEE应用程序,在OSGi下工作。OSGi和JavaEE之间有一种依赖性噩梦,只有Glassfish能够做到这一点


有人知道如何让一个简单的JavaEE应用程序在ApacheFelix中工作吗?一旦我们完成这项工作,将所有这些组件嵌入到一个Jar中可能就不那么复杂了,并且可以帮助我们完成这项工作。

您要做的是在OSGi中执行类似于传统WAR文件的操作? 从技术上讲,您需要做的实际上是创建一个“wab”,一个web应用程序包。 要做到这一点,您可以像创建任何其他捆绑包一样使用maven捆绑包插件,但您可以指定它是“wab”(请参见其他地方)

然后,您需要将其部署到felix中,使其使用“servlet桥”。你可以在香草felix中这样做,但这并不容易

试试阿帕奇·卡拉夫。 Karaf是Felix的包装器,它提供了安装实现“特性”的库集的简洁方法。 您需要的功能是“war”功能,它安装各种东西,包括jetty等

因此,在karaf命令行中,您可以执行“功能安装war” 然后将wab包放入deploy文件夹并交叉手指

比这更好的是,您可以使用karaf maven插件创建您自己的“features.xml”文件来确定捆绑包使用的其他功能和依赖项,然后将该features.xml文件放到karaf的deploy文件夹中

如果你对此有任何具体问题,请告诉我。我几乎有所有的例子,但恐怕你正处在一个相当陡峭的学习曲线上:(

检查。
文档不是很好,但它是一个很好的框架。
我推荐并将在我的下一个项目中使用。