问题标签 [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.
java - 带有 SSH 的 Apache Felix shell
我对如何将 Apache Felix 与 SSH 一起使用感兴趣?我想使用 SSH 从远程计算机访问 Felix shell。我知道有 telnet 支持,但它太不安全了。有什么解决办法吗?
osgi - 列出 gogo shell 中 Config Admin 的所有活动配置
我想在屏幕上显示通过 gogo shell 方法Configuration
返回的列表。org.osgi.service.cm.ConfigurationAdmin.listConfigurations
我尝试了以下方法:
但它失败并出现以下错误:
这里的正确语法是什么?有可能这样做吗?
谢谢!
osgi - 使用 gogo 自定义命令时产生的异常
我使用 bndtools 教程 ( http://bndtools.org/tutorial.html#write-a-command-component ) 中的信息创建了一个 felix gogo 自定义命令。
使用的代码如下:
请注意,ActualUser 类有一个名为 textClient() 的方法,目前它只是打印出一条消息。
我在构建和运行 bnd 文件中设置了适当的东西,包括 Bnd Annotations 声明性服务。我在运行时也有所有必要的 Gogo 包。
执行“帮助”会导致显示命令列表,其中包括以下内容:
其中“texter:text”是我添加的命令。
一切似乎都很好,除了当我尝试使用 text 命令时,我收到以下失败消息:
我想我理解第二条失败消息:该命令需要一个字符串才能工作。不过,我不明白第一次失败。
有谁知道为什么这个命令不起作用?是什么导致了这些 InvocationTargetExceptions?
更重要的是,我怎样才能让它们消失?
有人请指教...
osgi - Felix GoGo Shell 抛出 MalformedURLException:未知协议:Equinox 中的 bundleresource
我正在编写一个名为ZAP的 Java 应用程序的扩展。扩展是一个内嵌Equinox bundle ( )的 fat/uber jar 。此 jar 中还包含其他捆绑包,位于子目录中。如如何嵌入 OSGi中所述,OSGi 框架正在启动。org.eclipse.osgi
bundles
我正在尝试按照Eclipse 的“Console Shell”文档中概述的步骤让 Felix GoGo shell 工作。它指定了以下必需的捆绑包:
org.apache.felix.gogo.command
org.apache.felix.gogo.runtime
org.apache.felix.gogo.shell
org.eclipse.equinox.console
除了春分 / org.eclipse.osgi
。由于 Equinox 不在类路径上,因此我将org.osgi.framework.system.packages.extra
配置设置为 Equinox 包指定的值,在此处Export-Package
可见。
一旦框架处于 ACTIVE 状态,我会在 Eclipse 中(或通过 Eclipse 外部的命令行)看到以下堆栈跟踪:
GoGo 似乎没有使用 Equinox URL 处理程序。我注意到与它们相关的以下软件包不在 Equinox 中Export-Package
:
org.eclipse.osgi.storage.url
org.eclipse.osgi.storage.url.bundleresource
org.eclipse.osgi.storage.url.bundleentry
所以我也将这些包含在org.osgi.framework.system.packages.extra
包列表中。那没有帮助。
捆绑包已安装并启动,否则不会出现任何明显错误。
如何让 GoGo 使用 Equinox 的自定义 URL 处理程序?
更新 1:也许是红鲱鱼
在随机故障排除中,我想执行此处概述的最终阴影 jar 。我在同一个目录中复制了原始org.eclipse.osgi
包和阴影 jar。有一个configuration/config.ini
指定要加载的捆绑包。
执行 stock bundle 会打开控制台:
执行阴影罐,不是那么多:
这可能是一个完全的红鲱鱼......我对OSGi非常无知,这是我第一次亲身体验它。但是,我希望阴影 jar 的执行与股票 Equinox jar 没有什么不同。因为我不明白为什么会有不同,所以我会在那里挖掘,因为没有更好的地方可以挖掘......
更新 2:Classpath 上的 Equinox 围绕问题工作
我通过其目录将 Equinox 捆绑包添加到 ZAP 的类路径中lib
,并将其从内联到扩展 jar 中删除。这样做并将ServiceLoader.load
调用调整为不包含类加载器(默认为系统类加载器)可以:
潜在的问题可能是如何内联 jar,可能与MANIFEST.MF
文件有关。可能相关,我现在不需要为org.osgi.framework.system.packages.extra
.
我将不回答这个问题,因为最初的目的是将 OSGi 库作为阴影工件包含在内。也许 bndtools 可以提供帮助?
java - 如何查看为什么 Apache Felix Log 中未满足捆绑要求?
我在嵌入式模式下使用 Felix,带有文件安装包,并且有一个已安装但未解决的包(因此不是启动/活动),而且我比我想象的要找到根本原因的努力更多在日志中...
您如何/从哪里获得那些看起来很有帮助的“无法解决......因为......”或“BundleException:捆绑中未解决的约束......无法解决......缺少要求...... osgi.wiring.package”种类日志中的消息,自动来自 Felix 框架和/或文件安装包?我没有看到类似的东西 - 我应该是吗?在哪里?
我还添加了日志记录(通过Apache Felix Log和osgi-loglistener-slf4j),但仍然没有 - 您是否需要比我做的更多才能在(嵌入式)Felix 中启用此类问题的日志记录?
然后我添加了 Felix Gogo Shell CLI,发现它的inspect
命令也不是很有帮助(不适用于未解决的捆绑包),并且只会start
显示根本原因 - 但我怎样才能得到这个登录,无需使用控制台并启动:
我确实理解由于 OSGi 的异步包初始化,何时记录失败的包启动可能并不明显,因为它可能必须等待依赖包出现?难道它还不能......在某种宽限期之后记录这种错误吗?
liferay - Liferay 覆盖文档库网络
大家好,我开发了一个模块来覆盖文档库的 jsp,因此使用blade deploy
localhost 中的命令全部运行完美,文档库显示我的自定义 jsp,但是当我通过 gogo 或 Web UI(liferay 应用程序)将此 jar 模块部署到远程 Web 服务器时manager)和状态显示等于 localhost(状态:已解决),但 mi 自定义 jsp 不显示。
bash - Telnet 到 Gogo shell 运行良好,但带有 bash 脚本的 telnet 返回连接被外国主机关闭
我正在尝试使用 bash 脚本通过 telnet 自动执行一些工作(实际上是与 Felix Gogo shell 交互)。简单地说,它们是:
我遵循了这些指示:
我使用的脚本是:~/telwork.sh
不幸的是./telwork.sh | telnet
,在执行过程中会存在Connection closed by foreign host.
但是,如果我在控制台中手动进行工作,一切都会很好。mac osx 和 rhel 都会出现同样的问题。
我在互联网和 stackoverflow 上进行了一些搜索,但似乎答案总是在谈论身份验证。但我可以通过键入登录 Gogo shell telnet localhost 11311
。
因此,我发布此问题以寻求您的帮助。非常感谢。
liferay - Liferay 模块(OSGi 包)停留在“Stopping”
有时当我停止我的 Liferay 模块时(例如,当我将其 JAR 的新版本放入时deploy/
),模块拒绝停止。
虽然模块应该进入“已解决”状态,但它永远处于“停止”状态:
通常是由于线程未在某处终止,或者网络连接未正确关闭,而且调查通常很痛苦。
我的问题:如何更有效地找出这个 Liferay 模块的问题是什么?
我尝试了什么:
- 在 Gogo Shell
diag <module id>
中似乎没有提供任何关于模块拒绝离开“停止”状态的有价值信息。 - jstack输出数千行,其中绝大多数在所讨论的 Liferay 模块之外。如果有一种方法可以仅为我的模块显示 jstack 信息,那就太好了。
liferay - 尽管 service.ranking 很高,但 Liferay 没有看到我的服务实现
我编写了一个包含com.liferay.portal.security.audit.AuditMessageProcessor服务实现的模块:
弹性搜索.java:
部署后,Gogo Shell 将我的模块视为未实现该服务,如下所示。我的模块实现的另外两个服务是可见的。
我究竟做错了什么?
有关信息,在我的模块的 jar 中OSGI-INF/my.MyAuditMessageProcessor.xml
存在:
telnet - 无法启动 Gogo shell 连接失败错误
我是liferay的新手,在尝试使用此命令“telnet localhost 11311”通过cmd打开gogo shell时出现此错误,错误:“连接到本地主机...无法打开与主机的连接,在端口11311上:连接失败的”
我尝试在 portal-developer.properties 中更改端口号,但没有成功。