我目前正在关注 Vespa 教程,但遇到了HTTP API 用例的问题。mvn install package
从到一切正常vespa-deploy prepare target/application.zip
。
调用vespa-deploy activate
正常返回,但应用程序永远不会在localhost:8080
. 查看/opt/vespa/logs/vespa/vespa.log
(在 VM 中)可以找到以下堆栈跟踪:
Container.com.yahoo.jdisc.core.StandaloneMain error Unexpected:
exception=
java.lang.IllegalArgumentException: Could not create a component with id 'com.mydomain.demo.DemoComponent'.
Tried to load class directly, since no bundle was found for spec: sample-app-http-api-searcher.
If a bundle with the same name is installed, there is a either a version mismatch or the installed bundle's version contains a qualifier string.
at com.yahoo.osgi.OsgiImpl.resolveFromClassPath(OsgiImpl.java:48)
...
sample-apps
这是使用带有git 存储库的干净克隆的新 Docker 映像发生的。准备和激活基本示例以及其他 http 示例确实可以无缝运行。
我检查了源代码和 xml 文件是否存在明显问题,但对失败的原因和位置一无所知。
target/application.zip
包含
application/components/http-api-using-searcher-1.0.1-deploy.jar
application/hosts.xml
application/searchdefinitions/basic.sd
application/services.xml
jar 本身确实包含一个com/mydomain/demo/DemoComponent.class
文件(除其他外)。
github 跟踪器上可能相关的问题:https ://github.com/vespa-engine/vespa/issues/3479我也会在那里发布这个问题的链接,但我仍然认为这是一个值得提出的问题,在至少要在vespa
标签后面采取一些行动:)