通过不将数十个JAR依赖项包装到lib目录中,OSGi似乎有一个很好的好处,即拥有小型可部署工件。但是,我找不到任何可以告诉我将依赖项部署到容器的简单、可靠的方法。例如,我有一个使用CXF和几个Spring子项目的应用程序。如果我需要将此应用程序部署到新的Glassfish服务器,那么确保安装所有依赖项的最佳方法是什么?我正在使用Maven,似乎可能有一些方法可以有一个Hook来查看META-INF/maven目录并从pom.xml中提取依赖项列表然后去获取所需的库(可能来自本地仓库)。有没有办法做到这一点?Pax插件听起来像是在这样做,但它似乎是基于对Felix容器的增强?这不是我想
通过不将数十个JAR依赖项包装到lib目录中,OSGi似乎有一个很好的好处,即拥有小型可部署工件。但是,我找不到任何可以告诉我将依赖项部署到容器的简单、可靠的方法。例如,我有一个使用CXF和几个Spring子项目的应用程序。如果我需要将此应用程序部署到新的Glassfish服务器,那么确保安装所有依赖项的最佳方法是什么?我正在使用Maven,似乎可能有一些方法可以有一个Hook来查看META-INF/maven目录并从pom.xml中提取依赖项列表然后去获取所需的库(可能来自本地仓库)。有没有办法做到这一点?Pax插件听起来像是在这样做,但它似乎是基于对Felix容器的增强?这不是我想
我正在尝试创建一个实用程序类ReadPropertyUtil.java用于从属性文件中读取数据。虽然我的类(class)位于util目录下,但我的skyscrapper.properties文件位于其他目录中。但是,当我尝试使用[ResourceBundle][1]访问属性时,出现异常,无法加载该包。下面是我如何读取属性的代码以及显示我的目录结构的图像。ReadPropertiesUtil.java/***Propertiesfilename.*/privatestaticfinalStringFILENAME="skyscrapper";/***Resourcebundle.*/pr
我正在尝试创建一个实用程序类ReadPropertyUtil.java用于从属性文件中读取数据。虽然我的类(class)位于util目录下,但我的skyscrapper.properties文件位于其他目录中。但是,当我尝试使用[ResourceBundle][1]访问属性时,出现异常,无法加载该包。下面是我如何读取属性的代码以及显示我的目录结构的图像。ReadPropertiesUtil.java/***Propertiesfilename.*/privatestaticfinalStringFILENAME="skyscrapper";/***Resourcebundle.*/pr
我刚刚开始使用Libgdx为了练习制作游戏,我使用网站上提供的项目创建.jar来创建初始项目。然而,Android项目中出现了一个错误,上面写着:android.os.Bundlecannotberesolved.我正在为JavaIDE使用Eclipse。如果我将光标放在红色下划线的AndroidApplication上,则表明我配置了构建路径。我相信我已经安装了AndroidSDK,因为它在一个简单的示例项目的不同工作区上工作了一段时间。有谁知道我在这个新工作区可能做错了什么?如何配置AndroidApplication类的构建路径?顺便说一句,我相信我使用的是Java1.6,因为这
我刚刚开始使用Libgdx为了练习制作游戏,我使用网站上提供的项目创建.jar来创建初始项目。然而,Android项目中出现了一个错误,上面写着:android.os.Bundlecannotberesolved.我正在为JavaIDE使用Eclipse。如果我将光标放在红色下划线的AndroidApplication上,则表明我配置了构建路径。我相信我已经安装了AndroidSDK,因为它在一个简单的示例项目的不同工作区上工作了一段时间。有谁知道我在这个新工作区可能做错了什么?如何配置AndroidApplication类的构建路径?顺便说一句,我相信我使用的是Java1.6,因为这
我正在使用一个依赖于JSF的库。当我尝试运行我的项目时,它显示以下异常消息..java.util.MissingResourceException:Can'tfindbundleforbasename/Bundle,localeen_USatjava.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427)atjava.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250)atjava.util.ResourceBundle.ge
我正在使用一个依赖于JSF的库。当我尝试运行我的项目时,它显示以下异常消息..java.util.MissingResourceException:Can'tfindbundleforbasename/Bundle,localeen_USatjava.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427)atjava.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250)atjava.util.ResourceBundle.ge
我的OSGi项目中的每个包都有自己的BundleActivator,我认为这很正常。这会通过当前的BundleContext,这对于获取服务引用和诸如此类的东西很有用。但是,如何从包中的类中获取BundleContext?将它分配给BundleActivator中的公共(public)静态字段很糟糕,并将它作为参数传递也很糟糕。有没有更智能的方法? 最佳答案 你可以使用FrameworkUtil.getBundle(ClassFromBundle).getBundleContext()。见FrameworkUtilJavaDoc.
我的OSGi项目中的每个包都有自己的BundleActivator,我认为这很正常。这会通过当前的BundleContext,这对于获取服务引用和诸如此类的东西很有用。但是,如何从包中的类中获取BundleContext?将它分配给BundleActivator中的公共(public)静态字段很糟糕,并将它作为参数传递也很糟糕。有没有更智能的方法? 最佳答案 你可以使用FrameworkUtil.getBundle(ClassFromBundle).getBundleContext()。见FrameworkUtilJavaDoc.