草庐IT

java - 什么时候应该将一个多模块项目拆分成单独的存储库树?

目前我们有一个项目的标准颠覆存储库布局:./主干./分支机构./标签但是,随着我们沿着OSGi和模块化项目的道路前进,我们最终得到了:./trunk/bundle/main./trunk/bundle/modulea./trunk/bundle/模块./tags/bundle/main-1.0.0./tags/bundle/main-1.0.1./tags/bundle/modulea-1.0.0'build'仍然非常单一,因为它按顺序构建所有模块,尽管我开始怀疑我们是否应该将构建/存储库重构为更像这样的东西:./bundle/main/trunk./bundle/main/tags/

java - OSGi 包和普通 .JAR 文件用法之间的区别

我最近开始研究OSGi。我读到可以创建bundle(这是普通的java类)并通过动态安装/卸载任何包。但我似乎无法理解在任何Java类中使用普通.JAR文件与使用bundle之间的区别。谁能帮我澄清一下?谢谢你。 最佳答案 基本上没有区别。JAR是一个包,一个包是一个JAR,格式是相同的。但是,有用包需要其list中的OSGi元数据,以便OSGi框架可以管理包之间类的可见性。没有此元数据的JAR将只包含不可见的类,看不到其他包中的任何类,也无法以任何方式启动。Import-Packagelistheader告诉包应该对包可见,而Ex

java - 如何使用 Java 11 bundle 和启动原生 Mac/Windows 应用程序?

不幸的是,javapackager工具将随JDK11一起删除-因为它是JavaFX的一部分,JavaFX也将被删除。因此,将不再有为Mac或Windows创建nativeJava应用程序包的“官方”和简单方法。我尝试重新使用由Java9/10的javapackager(在Mac上:my.app/Contents/MacOS/my)生成的native启动器文件,它们似乎仍然适用于JDK11.然而,这是一个有点肮脏的解决方案。关于如何使用Java11及更高版本(首选Mac平台)本地打包和启动应用程序有什么想法吗? 最佳答案 您可以使用j

java - 如何在 apache karaf 中安装和运行 osgi bundle

我有一个简单的问题。我跟着这个tutorial并创建了一个HelloWorldosgi包。我如何使用apache安装和启动这个包Karaf?我如何使用osgi:install命令引用该包?谢谢。 最佳答案 您只需将bundle放入“部署”目录,Karaf就会注意到并安装它。 关于java-如何在apachekaraf中安装和运行osgibundle,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/qu

java - 分布式 OSGi - 跨所有容器管理 bundle 的正确方法是什么?

我们正在考虑在我们的企业环境中使用分布式OSGi。我们将有以下设置:许多主机上的10到100个OSGi容器提供各种服务。其中许多服务由多个容器提供。其中一些服务可能需要在所有服务中保持一致容器(部署相同版本)。在所有容器中管理bundle的生命周期(安装、启动、更新、停止、卸载)的正确方法是什么?几个要求:由于可能有很多容器,所以应该处理所有容器一起;即当我要更新一个包时,一个命令应更新该bundle已存在的所有容器。命令必须是可重复的:首先在测试系统上执行命令,然后在测试完成后在生产系统上重复完全相同的命令。我很感激关于上述问题的任何建议。最好的问候,马顿

java - maven-bundle-plugin 失败并显示 "Invalid class file module-info.class"

添加包含JPMS模块的依赖项后,maven-bundle-plugin(版本3.3.0)失败并显示:[INFO]---maven-bundle-plugin:3.3.0:bundle(default-bundle)@my-bundle---[ERROR]BundlemyGroup:my-bundle:bundle:1.0:Exception:java.lang.ArrayIndexOutOfBoundsException:19[ERROR]BundlemyGroup:my-bundle:bundle:1.0:Invalidclassfilemodule-info.class(java.

java - Unresolved 要求 : Require-Bundle: org. eclipse.core.databinding.beans;捆绑版本 ="1.2.200"

我正在尝试创建一个RCP应用程序,我想在其中绑定(bind)一个来自bean的变量以进行查看。bean的代码#publicclassSaveFileBeanimplementsPropertyChangeListener{privateStringtext;privatePropertyChangeSupportpropertyChangeSupport=newPropertyChangeSupport(this);@OverridepublicvoidpropertyChange(PropertyChangeEventarg0){propertyChangeSupport.fireP

java - 在 Eclipse Luna 中安装新软件总是出现错误 No repository found containing : osgi. bundle,org.eclipse.net4j.jms.api?

我将STS(Spring工具套件)与EclipseLuna4.4一起使用,我注意到每次我尝试通过帮助->“安装新软件”我收到以下错误:Anerroroccurredwhilecollectingitemstobeinstalledsessioncontextwas:(profile=DefaultProfile,phase=org.eclipse.equinox.internal.p2.engine.phases.Collect,operand=,action=).Norepositoryfoundcontaining:osgi.bundle,org.eclipse.net4j.jms

java - 无法使用 native bundle exe 启动 JavaFX 应用程序

我已经创建了一个JavaFX应用程序,并使用Ant创建了它的本地包。当我尝试使用通过双击创建的包中的Jar启动应用程序时,它成功启动了我的应用程序。但是,当我尝试双击MyApplication.exe(比如说)时,它会抛出JavaFX启动器错误“运行应用程序时出现异常”。两个jre我都对比过,jar、exe、dll和一些属性文件都少了很多。我有这些环境设置-JAVA_HOME--C:\ProgramFiles\Java\jdk1.7.0_10JREFX_HOME--C:\ProgramFiles\Oracle\JavaFX2.2RuntimePathcontainsanentryofC

java - 使用 maven tycho 构建 list 条目 Bundle-ClassPath,该 list 条目由 maven-dependency-plugin 下载

我有一个带有此list的eclipse插件:...Bundle-ClassPath:.,lib/drools-api.jar,lib/drools-core.jar,...现在我们不想将drools-api.jar和drools-core.jar放在源代码管理中,所以我们使用插件从Maven存储库:org.apache.maven.pluginsmaven-dependency-plugincopy-bundle-classpath-libsvalidatecopylibtruetruetruetrueorg.droolsdrools-apiorg.droolsdrools-core.