我无法启动 Spring Roo。它无法从命令行启动,也无法从 STS 启动。当我创建“Spring Roo 项目”时,Roo Shell 不会弹出,并且项目上有错误标记。
- 操作系统:Windows 7 64位
- JDK: 1.6.0_25 也是 64 位
我有最新版本的 STS,但是与 2.7.1 版相同的问题也出现在 Roo 版本 1.1.5 中。
这里有命令行启动时的错误。
该错误块的前 20 行:
__ERROR: Error starting file:/D:/springsource/spring-roo-1.1.5.RELEASE/bundle/org.springframework.roo.addon.backup-1.1.5.RELEASE.jar
(org.osgi.framework.BundleException: Unresolved constraint in bundle org.springframework.roo.addon.backup [7]: Unable to resolve 7.0: missing requirement [7.0] package; (&(package=org.springframework.roo.file.monitor.event)(version>=1.1.0)(!(version>=2.0.0))) [caused by: Unable to resolve 39.0: missing requirement [39.0] package; (&(package=org.springframework.roo.support.ant)(version>=1.1.0)(!(version>=2.0.0))) [caused by: Unable to resolve 52.0: missing requirement [52.0] package; (package=javax.xml.namespace)]])
org.osgi.framework.BundleException:
Unresolved constraint in bundle org.springframework.roo.addon.backup [7]:
Unable to resolve 7.0: missing requirement [7.0] package;
(&(package=org.springframework.roo.file.monitor.event)(version>=1.1.0)(!(version>=2.0.0))) [caused by: Unable to resolve 39.0: missing requirement [39.0] package; (&(package=org.springframework.roo.support.ant)(version>=1.1.0)(!(version>=2.0.0))) [caused by: Unable to resolve 52.0: missing requirement [52.0] package; (package=javax.xml.namespace)]]
at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3409)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1719)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1148)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
at java.lang.Thread.run(Unknown Source)
ERROR: Error starting file:/D:/springsource/spring-roo-1.1.5.RELEASE/bundle/org.springframework.roo.addon.configurable-1.1.5.RELEASE.jar
(org.osgi.framework.BundleException: Unresolved constraint in bundle org.springframework.roo.addon.configurable [8]: Unable to resolve 8.0: missing requirement [8.0] package; (&(package=org.springframework.roo.classpath)(version>=1.1.0)(!(version>=2.0.0))) [caused by: Unable to resolve 36.0: missing requirement [36.0] package; (&(package=org.springframework.roo.file.monitor)(version>=1.1.0)(!(version>=2.0.0))) [caused by: Unable to resolve 39.0: missing requirement [39.0] package; (&(package=org.springframework.roo.support.ant)(version>=1.1.0)(!(version>=2.0.0))) [caused by: Unable to resolve 52.0: missing requirement [52.0] package; (package=javax.xml.namespace)]]])
org.osgi.framework.BundleException:
Unresolved constraint in bundle org.springframework.roo.addon.configurable [8]: Unable to resolve 8.0: missing requirement [8.0] package;
(&(package=org.springframework.roo.classpath)(version>=1.1.0)(!(version>=2.0.0))) [caused by: Unable to resolve 36.0: missing requirement [36.0] package;
(&(package=org.springframework.roo.file.monitor)(version>=1.1.0)(!(version>=2.0.0))) [caused by: Unable to resolve 39.0: missing requirement [39.0] package;
(&(package=org.springframework.roo.support.ant)(version>=1.1.0)(!(version>=2.0.0))) [caused by: Unable to resolve 52.0: missing requirement [52.0] package;
(package=javax.xml.namespace)]]]
at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3409)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1719)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1148)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
at java.lang.Thread.run(Unknown Source)__
我尝试以管理员身份从 roo 的 bin 文件夹运行 .bat 文件,但问题仍然存在。
我已经遵循安装指南,基本上只需要 roo\bin 的路径变量 - 没有太大帮助。
你知道该如何修复它吗?
答案1
问题虽然得到了解决,但并未真正解决。
首先,没有帮助的是:
- 关闭防火墙
- 关闭防病毒软件
- 将上面两个都关闭
我知道问题的原因是安装本地化与主分区不同。我再次安装了完整的 STS(sts + maven + roo + server),但这次是在 C 盘,也就是我的主分区上。令人惊讶的是,它成功了。当我将它安装在主分区上时,文件夹似乎获得了更多权限。但我仍然不知道如何添加这些权限,因为该权限窗口中有更多组,而目前我不知道如何在其他驱动器上添加这些权限。此外,覆盖的这些组内的权限也不同。缺少的两个组是:TrustedInstaller、CREATOR-OWNER(我可能翻译错了第二个,因为我不使用英文版的 Windows。它仍然是大写锁定的)
长话短说:将其安装在主驱动器上。否则,您必须以某种方式修复权限。