按照以下说明操作: stanbol build and run stanbol instance
执行时我们总是遇到以下错误:
% mvn clean install
[错误]无法在项目org.apache.stanbol.commons.owl上执行目标org.apache.maven.plugins:maven-surefire-plugin:2.16:test(default-test):有测试失败。< / p>
我们假设它与此有关:
SLF4J:无法加载类&#34; org.slf4j.impl.StaticLoggerBinder&#34;。 SLF4J:默认为无操作(NOP)记录器实现 SLF4J:有关详细信息,请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder。
可以找到完整的日志:here
由于我们不知道到底出了什么问题,我们希望有人能给我们一些提示来寻找解决方案。
如果使用-DskipTests跳过测试
然后出现服务器跟随错误的时候:
16.07.2014 12:30:10.136 *ERROR* [FelixStartLevel] ERROR: Error starting
可以访问完整的服务器日志here
使用stanbol 0.12 here时得到的结果仍然是错误,但大多数测试成功... github上的版本有类似的错误here
在跳过测试后启动会抛出此错误显示here
答案 0 :(得分:2)
问题是实际的主干版本不稳定。您可以检查Stanbol Jenkins服务器,它是最后一个稳定的主干版本(https://builds.apache.org/view/All/job/stanbol-trunk/)然后您必须查看以稳定版本结束的最后一次提交,并尝试使用Apache Stanbol web中的构建过程splain。 / p>
答案 1 :(得分:2)
让Apache Stanbol运行的解决方案:
64位Jvm的Heapsize: java -Xmx1g -XX:MaxPermSize = 1024M -jar launchers / full / target / org.apache.stanbol.launchers.full-1.0.0-SNAPSHOT.jar -p 9090
答案 2 :(得分:1)
我对org.apache.stanbol.commons.owl
模块测试失败的第一个问题说不出多少,但我会尝试为后续问题提供一些帮助。
0.12
构建的错误:org.osgi.framework.BundleException: Unresolved constraint in bundle org.apache.stanbol.commons.web.base.jersey [71]: Unable to resolve 71.0: missing requirement [71.0] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.http)(version>=1.2.1)(!(version>=2.0.0)))
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3962)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2025)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1279)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
at java.lang.Thread.run(Thread.java:744)
在我的本地构建中,org.apache.stanbol.commons.web.base.jersey
模块取决于org.osgi.service.http;version="[1.2.0,2)"
(根据捆绑包的MANIFEST.MF
)和org.apache.felix:org.apache.felix.http.api:jar:2.3.0
(自STANBOL-1356以来使用)导出此软件包的版本1.2.0
。
所以要解决的问题是,为什么在本地构建中,org.apache.stanbol.commons.web.base.jersey
模块取决于版本1.2.1
。
0.12
build java.lang.UnsupportedClassVersionError: org/apache/marmotta/ldpath/api/backend/RDFBackend : Unsupported major.minor version 51.0
从Stanbol 0.12.1-SNAPSHOT
和1.0.0-SNAPSHOT
开始,Java 7是必需的。这是因为对Apache Marmotta LDPath的依赖。
ERROR: Bundle org.apache.felix.http.jetty [72]: Error starting slinginstall:org.apache.felix.http.jetty-2.3.0.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle org.apache.felix.http.jetty [72]: Unable to resolve 72.0: missing requirement [72.0] package; (&(package=javax.servlet)(version>=3.0.0)(!(version>=4.0.0)))) org.osgi.framework.BundleException: Unresolved constraint in bundle org.apache.felix.http.jetty [72]: Unable to resolve 72.0: missing requirement [72.0] package; (&(package=javax.servlet)(version>=3.0.0)(!(version>=4.0.0)))
at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3443)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1727)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1156)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
at java.lang.Thread.run(Thread.java:744)
及以下......这是由STANBOL-1356引起的。事实上,日志包含问题所提到的确切错误。因此,这表明启动程序的pom.xml文件缺少<jarWebSupport></jarWebSupport>
元素所需的更新。有关详细信息,请参阅此问题的第一条评论。
答案 3 :(得分:1)
我刚遇到问题
(无法在项目org.apache.stanbol.rules.adapters.clerezza上执行目标org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test(default-test):有测试失败。)
并且正在尝试一些事情,但没有任何帮助。 然后我从https://github.com/apache/stanbol克隆了git版本并再次执行“mvn install” - &gt;建立成功,最后
因此,我假设https://stanbol.apache.org/downloads/上的最新版本与github上的版本之间存在一些差异。
我对像我这样的人(初学者)非常有用,可以将github版本链接到官方网站; - )
答案 4 :(得分:0)
解决方法是跳过测试,只需在调用maven时添加“-DskipTests”。真正的解决方案可能是将一个测试范围的slf4j实现添加到commons / owl。