【springboot项目】在idea中启动报错合集

一、IDEA中报错 “Error running ‘Application‘: Command line is too long.“ 的解决办法

报错详情:

Error running 'Application':
Command line is too long.Shorten command line for Application or also for Spring Boot default configuration.

报错原因: SpringBoot 启动命令过长

解决方案:
方法一: 点击项目启动配置项 -> shorten command line 选项选择 classpath file 或 java manifest 选项 -> 重新启动工程运行即可
在这里插入图片描述

参考链接:https://blog.csdn.net/qq_42730111/article/details/115698121

方法二:
在 .idea/libraies/workspace.xml 中的 <component name="PropertiesComponent"> 组件中,添加代码:

<property name="dynamic.classpath" value="true" />

在这里插入图片描述

参考链接:https://blog.csdn.net/weixin_43405300/article/details/123806649

二、Non-resolvable import POM: Cannot access -public (http://.1*.4.*9/nexus/content/reposit

报错详情:

[ERROR] Non-resolvable import POM: Cannot access *-public (http://1.1.4.1*9/nexus/content/repositories/public/) in offline mode and the artifact org.springframework.cloud:spring-cloud-dependencies:pom

解决方案: 操作菜单路径 File—Settings—Build,Execution,Deployment—Build Tools—Maven—取消Work offline

在这里插入图片描述

参考链接:https://blog.csdn.net/sun_luming/article/details/119948077

三、Unable to start embedded Tomcat(已解决)在这里插入图片描述

解决方案: 可能是没有选择jdk版本的原因,选上就可以了

在这里插入图片描述

参考链接:https://blog.csdn.net/javaXiaoAnRan/article/details/98214525

四、com.mongodb.MongoSocketOpenException: Exception opening socket错误解决方法

报错信息:

com.mongodb.MongoSocketOpenException: Exception opening socket
at com.mongodb.connection.SocketStream.open(SocketStream.java:63) ~[mongodb-driver-core-3.4.2.jar:na]
at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115) ~[mongodb-driver-core-3.4.2.jar:na]
at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:113) ~[mongodb-driver-core-3.4.2.jar:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]


Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_131]
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) ~[na:1.8.0_131]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_131]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_131]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_131]
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[na:1.8.0_131]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_131]
at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_131]
at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:57) ~[mongodb-driver-core-3.4.2.jar:na]
at com.mongodb.connection.SocketStream.open(SocketStream.java:58) ~[mongodb-driver-core-3.4.2.jar:na]
... 3 common frames omitted

原因: springboot自动配置了支持mongodb。在启动springboot时会自动实例化一个mongo实例,需要禁用自动配置 ,增加@SpringBootApplication(exclude = MongoAutoConfiguration.class)这个注解即可

或者在 pom.xml 文件中注释Mongo相关的启动语句,如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

参考链接:https://blog.csdn.net/weixin_45157411/article/details/123581713

五、项目启动时,报错:nested exception is java.lang.RuntimeException: Failed to initialize DiscoveryClient!

原因:
引入spring-cloud-starter-netflix-eureka-client和spring-boot-starter-web两个依赖的时候,会出现冲突。由于代码里面,用了Spring MVC的Rest方式,而没有用spring-cloud-starter-netflix-eureka-client本身包含Jesery Rest方式。而导致报错

解决方式:
方法一: 在spring-cloud-starter-netflix-eureka-server排出Jersey

<dependency> 
     <groupId>org.springframework.cloud</groupId> 
     <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> 
</dependency> 

改为:

<dependency> 
     <groupId>org.springframework.cloud</groupId> 
     <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> 
     <!-- 排除Jersey,用SpringMVC Rest方式-->
        <exclusions>
        <exclusion>
             <groupId>com.sun.jersey</groupId>
             <artifactId>jersey-client</artifactId>
        </exclusion>
        <exclusion>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-core</artifactId>
        </exclusion>
        <exclusion>
            <groupId>com.sun.jersey.contribs</groupId>
            <artifactId>jersey-apache-client4</artifactId>
        </exclusion>
      </exclusions>
</dependency> 

方法二: 不引用spring-boot-starter-web,把spring-boot-starter-web删去

<-- 去掉
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
     <exclusions>
          <exclusion>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-tomcat</artifactId>
          </exclusion>
     </exclusions>
</dependency> 
-->

参考链接:https://blog.csdn.net/weixin_42861564/article/details/101303708

猜你喜欢

转载自blog.csdn.net/m0_46459413/article/details/132190884
今日推荐