[解决] sping roo 无法启动的问题 [java 的 ror]

2024-01-08 11:18

本文主要是介绍[解决] sping roo 无法启动的问题 [java 的 ror],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

spring roo是个好东西,但是在实际使用时,sping roo经常莫名其貌无法启动。

有的时候这台机器可以用,另一台又不行。有的时候这个项目可以用,另一个项目又不行。有事时候昨天可以用,今天又打不开。

这次又遇到打不开的问题,在此留个继续,大家共同讨论。


现象,在sts(eclipse)中打不开spring roo shell,重新安装新版的sts也没有效果。new 一个新的spring roo项目也不行。


解决思路:

在IDE中的spring roo shell打不开的时候,,可以通过命令行启动spring roo,查看错误信息以解决问题。

将roo 的bin目录添加到环境变量中,cd到项目目录,或者一个空目录。执行roo命令。

结果出来长长的错误信息


C:\>roo
Auto-deploy install: org.osgi.framework.BundleException: Bundle symbolic name an
d version are not unique: com.github.antlrjavaparser.antlr-java-parser:1.0.14
Auto-deploy install: org.osgi.framework.BundleException: Bundle symbolic name an
d version are not unique: org.apache.commons.codec:1.8.0
Auto-deploy install: org.osgi.framework.BundleException: Bundle symbolic name an
d version are not unique: org.apache.commons.io:2.4.0... 中间省略大约 365行 ...ERROR: Bundle org.springframework.uaa.client [80] Error starting file:/D:/Spring
%20Roo/spring-roo-1.2.5.RELEASE/bundle/org.springframework.uaa.client-1.0.2.RELE
ASE.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle org
.springframework.uaa.client [80]: Unable to resolve 80.0: missing requirement [8
0.0] package; (package=javax.xml.parsers))
org.osgi.framework.BundleException: Unresolved constraint in bundle org.springfr
amework.uaa.client [80]: Unable to resolve 80.0: missing requirement [80.0] pack
age; (package=javax.xml.parsers)
at org.apache.felix.framework.Felix.resolveBundle(Fel ix.java:3564)
at org.apache.felix.framework.Felix.startBundle(Felix .java:1797)
at org.apache.felix.framework.Felix.setActiveStartLev el(Felix.java:1192)at org.apache.felix.framework.StartLevelImpl.run(Star tLevelImpl.java:266
)
at java.lang.Thread.run(Unknown Source)

找了好多roo的资料都没能解决,直到搜索org.osgi.framework.BundleException时,有人提到jdk配置的问题。

于是尝试在path变量中加上%JAVA_HOME%\bin; 问题被神奇的解决了。


    ____  ____  ____/ __ \/ __ \/ __ \/ /_/ / / / / / / // _, _/ /_/ / /_/ /
/_/ |_|\____/\____/    1.2.5.RELEASE [rev 8341dc2]Welcome to Spring Roo. For assistance press TAB or type "hint" then hit ENTER.
roo>

总结:

根据以往的经验,使用spring roo 可能需要注意一下问题:

1. path中需要加入jdk路径

2. jdk最好是1.6的

3. 项目中不要出现中文结尾的字符串(例如:'不能用这个', "可以用这个."字符串最后一个字符是中文可能整死roo,不论相关类和roo有没有关联)

4. 实在无法启动还可以试试删除 用户目录的 .spring_roo_pgp.bpg 文件,重装roo和卸载无关的jdk



这篇关于[解决] sping roo 无法启动的问题 [java 的 ror]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/583280

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

IDEA和GIT关于文件中LF和CRLF问题及解决

《IDEA和GIT关于文件中LF和CRLF问题及解决》文章总结:因IDEA默认使用CRLF换行符导致Shell脚本在Linux运行报错,需在编辑器和Git中统一为LF,通过调整Git的core.aut... 目录问题描述问题思考解决过程总结问题描述项目软件安装shell脚本上git仓库管理,但拉取后,上l

Java中的.close()举例详解

《Java中的.close()举例详解》.close()方法只适用于通过window.open()打开的弹出窗口,对于浏览器的主窗口,如果没有得到用户允许是不能关闭的,:本文主要介绍Java中的.... 目录当你遇到以下三种情况时,一定要记得使用 .close():用法作用举例如何判断代码中的 input