我尝试从Spring's guide设置Spring Roo,但我收到以下错误。我怀疑它与this bug概述的Java 8兼容性有关,但我对如何继续解决此问题表示阻止。
以下是我的错误示例:
ERROR: Bundle com.github.antlrjavaparser.antlr-java-parser [3] Error starting file:/home/luca at java.lang.Thread.run(Thread.java:745)
org.osgi.framework.BundleException: Unresolved constraint in bundle org.springframework.roo.support.osgi [70]: Unable to resolve 70.0: missing requirement [70.0] package; (&(package=org.springframework.roo.support.ant)(version>=1.2.0)(!(version>=2.0.0))) [caused by: Unable to resolve 69.0: missing requirement [69.0] package; (package=javax.xml.namespace)]
at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3564)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1797)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1192)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:266)
at java.lang.Thread.run(Thread.java:745)
org.osgi.framework.BundleException: Unresolved constraint in bundle org.springframework.roo.uaa [71]: Unable to resolve 71.0: missing requirement [71.0] package; (&(package=org.springframework.roo.shell)(version>=1.2.0)(!(version>=2.0.0))) [caused by: Unable to resolve 64.0: missing requirement [64.0] package; (package=javax.xml.parsers)]
at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3564)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1797)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1192)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:266)
at java.lang.Thread.run(Thread.java:745)
org.osgi.framework.BundleException: Unresolved constraint in bundle org.springframework.roo.url.stream.jdk [73]: Unable to resolve 73.0: missing requirement [73.0] package; (&(package=org.springframework.roo.shell)(version>=1.2.0)(!(version>=2.0.0))) [caused by: Unable to resolve 64.0: missing requirement [64.0] package; (package=javax.xml.parsers)]
at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3564)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1797)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1192)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:266)
at java.lang.Thread.run(Thread.java:745)
org.osgi.framework.BundleException: Unresolved constraint in bundle org.springframework.roo.wrapping.antlr4-runtime [74]: Unable to resolve 74.0: missing requirement [74.0] package; (package=javax.imageio)
at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3564)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1797)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1192)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:266)
at java.lang.Thread.run(Thread.java:745)
org.osgi.framework.BundleException: Unresolved constraint in bundle org.springframework.roo.wrapping.bcprov-jdk15 [76]: Unable to resolve 76.0: missing requirement [76.0] package; (package=javax.crypto)
at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3564)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1797)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1192)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:266)
at java.lang.Thread.run(Thread.java:745)
org.osgi.framework.BundleException: Unresolved constraint in bundle org.springframework.uaa.client [81]: Unable to resolve 81.0: missing requirement [81.0] package; (package=javax.xml.parsers)
at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3564)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1797)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1192)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:266)
at java.lang.Thread.run(Thread.java:745)
:
另外,我使用的是Java 8:
[lucas-ThinkPad-W520]/home/lucas$ java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
这是我的Maven版本:
[lucas-ThinkPad-W520]/home/.../springsource/spring-roo-1.2.5.RELEASE$ mvn -version
Apache Maven 3.0.5
Maven home: /usr/share/maven
Java version: 1.8.0_20, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-35-generic", arch: "amd64", family: "unix"
如果重要的话,我正在运行Ubuntu 14.04。有关如何进行的任何建议都会有所帮助。另外,如果可能的话,我更愿意继续使用Java 8。
答案 0 :(得分:9)
希望这有助于某人,但我终于明白了 - 详细信息发布在错误报告页面上的论坛中:http://forum.spring.io/forum/spring-projects/roo/106193-error-staring-the-roo-shell
我下载了Apache Felix Framework Distribution here,并且从felix发行版中,我将文件bin/felix.jar
移动到spring-roo.1.2.5.RELEASE/bin
。在那之后,一切正常!
希望这有助于某人!
答案 1 :(得分:0)
实际上,它可能需要完整的JDK ...您正在使用JRE。
自动更新Java后会发生此错误,这会意外将Java切换到JRE。
(以及您提供的链接中的事件... JDK / JRE的原因是第一个sugestino)