问题标签 [gogo-shell]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
osgi - 如何在 apache felix gogo shell 中自定义 OSGi 提示符
我有一个运行 Apache Felix Gogo shell(版本 1.1.2)的 OSGi 系统。
我看到了提示g!
,一切正常。我可以通过例如更改控制台中的提示prompt="myPrompt>"
。
如何在启动时在我的配置文件 (config.ini) 中进行配置?
osgi - 如何使用 GoGo Shell 更改 OSGi 中的默认命令范围并为自定义命令强制执行自定义范围?
我有一个在 Equinox 上运行的 OSGi 环境。对于自定义命令的执行,我使用 gogo shell(org.apache.felix.gogo.command、org.apache.felix.gogo.shell)。
默认情况下,命令范围设置为 equinox,因此该help
命令不打印任何内容。如果我使用felix:help
它,它会打印所有可用的命令。
如何将默认命令范围切换到felix
?有没有办法给系统一个启动脚本来设置它?
此外,如何强制用户使用我在组件属性中引入的范围,如下所示:
=> 我希望用户必须写入myScope:myFunc
shell。这有可能吗?
谢谢你的帮助 :-)
console - 将 OSGi 控制台拆分为输入和输出控制台
我想知道是否有可能在 OSGi 环境中运行 GoGo shell 并使用不同的控制台进行输入和输出。
将 gogo 命令写入系统记录大量数据的控制台不是很方便。
有没有好的解决方案?
java - OSGi 命令是否有更详细或可定制的帮助页面?
背景: Equinox 上的 OSGi 环境。对于自定义命令的执行,我使用 gogo shell(org.apache.felix.gogo.command、org.apache.felix.gogo.shell)。
我可以显示所有可用的命令(包括我自己的自定义命令)felix:help
。我的问题是输出没有我要求的那么详细。看起来像:
有没有办法将该页面扩展为更像手册页或至少显示底层 Java 方法的参数(至少对于我自己的命令)?在最坏的情况下,我将不得不编写一个help
以类似手册页的方式打印命令(至少是我的自定义命令)的方法。
也许有人可以通过给我另一种选择来节省我的时间:-)。提前致谢!
liferay - 从 Gogo Shell,获取 com.liferay.portal.kernel 的版本
我所拥有的只是与 Liferay 服务器的 Gogo Shell 连接。
从那个外壳,有没有办法知道该服务器使用的com.liferay.portal.kernel包的版本?
例如,如果我想知道com.liferay.util.taglib包的版本,我会键入lb | grep Taglib | grep Util
并看到版本是2.9.0
,但相同的方法似乎不适用于内核包。
osgi - 以编程方式执行 OSGI 控制台命令
有人可以提供一个关于如何以编程方式执行 OSGI 控制台命令的工作示例吗?
我正在通过代码加载 OSGI,并且我想执行 OSGI 控制台命令(我通过不同的系统接收命令)。这就是我正在做的一个简单测试:
一切都正确加载,如果我以编程方式遍历所有捆绑包,我可以看到一切都已加载并启动。不幸的是,我在“执行”行上收到异常“找不到命令:ss”。我究竟做错了什么?有人有一个简单的工作示例吗?
liferay - 如果我引用服务,Gogo Shell 命令会消失
源代码
在我的模块中,我编写了这个 Liferay 服务:
在同一个模块中,我编写了一个使用该服务的命令:
问题
该模块正确部署,但在 Gogo Shell 中该命令不可用:
但!@Reference private volatile TestService _testService;
如果我从中删除TestCommand.java
,它会完美运行:
问题:为什么会这样?如何正确引用服务?
osgi - 是否有一种简单的方法来列出接口的消费者组件?
各位码农,
我目前正在尝试找到一种简单明了的方法来获取使用给定接口的服务/组件的列表。我正在使用正在运行的 Liferay 7.1.x 服务器的 gogo-shell,但似乎找不到一种简单直接的方法来解决这个问题。
我们想通过 OSGI-configuration覆盖对使用服务的引用,但首先需要找到所有使用它的组件。由于存在对服务组件的静态不情愿引用,因此简单地提供具有更高排名的替代方案不是可行的解决方案。
以下是我正在使用的 gogo 相关捆绑包:
到目前为止,我已经能够通过以下方式列出接口的所有提供者se (interface=com.liferay.saml.runtime.servlet.profile.WebSsoProfile)
:
通过以下方式查看所有捆绑包要求inspect cap service
:
但是到目前为止,从这些使用给定接口(或服务组件)的捆绑包中列出实际服务让我望而却步。
到目前为止,我看到的唯一解决方案是列出这些捆绑包的所有提供的服务,scr:list bid
然后检查每个服务scr:info componentId
是否使用 WebSsoProfile 服务。
你们知道使用 WebSsoProfile-service 找到服务的更快方法吗?
[编辑]:我们解决了这个问题,而不必为 WebSsoProfile 服务的所有使用者提供配置覆盖,而是通过在服务器启动时停用默认服务来确保使用我们的实现。您可以看到这里描述的方法。
无论如何,出于调试目的,这种查找将非常有用。因此,如果有人知道检索接口所有使用者列表的方法,请发布您的解决方案!
deployment - 将 Vaadin OSGI portlet 所需的包部署到 Liferay 7.3
使用Felix Gogo Shell将 Vaadin OSGI portlet 所需的捆绑包部署到 Liferay 7.0过去是使用命令完成的,例如捆绑包:blade sh start
vaadin-shared
但是,它不再适用于 Liferay 7.3:
如何将捆绑包部署到 Liferay 7.3?