struts2改spring boot过程中一些问题及解决办法记录

简介:

1、引入依赖包的问题
一般情况下,常用的jar包在maven仓库都可以找到,并能知道如何在pom.xml文件中配置,但是有时候需要在一些项目中使用一些我们自己写的代码生成的jar包,要引入maven中就需要做一些必要的处理。
我们项目中就有这样的情况存在,以下是处理方式之一,就是用maven的命令生成maven方式的jar,然后加入到本地库中引用,打包命令如下:

mvn install:install-file -Dfile=huateng-comm-1.0.0.jar -DgroupId=com.huateng  -DartifactId=huateng-comm -Dversion=1.0.0 -Dpackaging=jar

2、使用maven给spring boot项目打jar包的问题
由于eclipse中默认配置的 installed jres是jre而不是jdk,导致打包时抛出如下异常:

Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

解决办法是把eclipse中的installed jres改为jdk。

3、logback相关jar版本问题:
原本非spring boot的老项目使用的logback版本是1.1.2,现在用了spring boot1.4.3,默认引入的logback的版本是1.1.7。
在原本的项目中logback.xml文件中有如下日志配置:

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <Encoding>UTF-8</Encoding>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>G:/logs/${app_name}_%d{yyyy-MM-dd}_%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
                 <maxFileSize>200MB</maxFileSize> 
            </timeBasedFileNamingAndTriggeringPolicy>       
            <maxHistory>365</maxHistory>
        </rollingPolicy>
          ...... 
    </appender>

新的spring boot项目在不改动logback.xml的情况下启动抛出如下异常:

Exception in thread "main" java.lang.IllegalStateException: Logback configuration error detected: 
ERROR in ch.qos.logback.core.joran.spi.Interpreter@20:13 - no applicable action for [Encoding], current ElementPath  is [[configuration][appender][Encoding]]

解决办法是去掉如下配置:

<Encoding>UTF-8</Encoding>

4、启动spring boot的启动类抛出异常
这个问题其实怪自己,我用maven生成了项目的jar在cmd窗口运行着,但是忘记了这件事,又在eclipse中启动了这个项目,从而导致端口占用,eclipse中启动不起来。
只不过在查看控制台的错误的时候,我从下网上看,首先看到的是如下异常:

Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.server.NetworkConnector
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

于是我以为是jetty的什么问题,就去网上搜了一下,但是还没搜出结果的时候我偶然想起来在cmd窗口还启动着一个应用,于是去控制台一看,果然看到了这样的提示:

java.net.BindException: Address already in use: bind
    at sun.nio.ch.Net.bind(Native Method)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:124)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
    at org.eclipse.jetty.server.nio.SelectChannelConnector.open(SelectChannelConnector.java:187)
    at org.eclipse.jetty.server.AbstractConnector.

很显然是端口被占用了,换个新的端口,成功启动。

目录
相关文章
|
16天前
|
JavaScript Android开发
Spring-boot-devTools无效解决办法,idea中devtools不起作用
Spring-boot-devTools无效解决办法,idea中devtools不起作用
|
15天前
|
安全 Java
Springboot2.1.1版本升级到2.3.10版本报错合集及解决办法
Springboot2.1.1版本升级到2.3.10版本报错合集及解决办法
|
16天前
|
SQL Java 调度
SpringBoot集成quartz定时任务trigger_state状态ERROR解决办法
SpringBoot集成quartz定时任务trigger_state状态ERROR解决办法
|
Java 网络安全 Windows
springboot项目报错:ERROR 9112 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] 的解决办法
springboot项目报错:ERROR 9112 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] 的解决办法
springboot项目报错:ERROR 9112 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] 的解决办法
|
3月前
|
前端开发 JavaScript Java
springboot 出现 Cannot resolve MVC View ‘index‘ 问题解决办法,前后端不分离项目前端文件存放位置,已经如何访问
springboot 出现 Cannot resolve MVC View ‘index‘ 问题解决办法,前后端不分离项目前端文件存放位置,已经如何访问
105 0
|
监控 前端开发 Java
spring mvc 获取请求参数,获取返回值的解决办法
spring mvc 获取请求参数,获取返回值的解决办法
257 0
|
存储 网络协议 Java
SpringBoot在自定义实现类中调用service层等Spring其他层报错为null的解决办法
SpringBoot在自定义实现类中调用service层等Spring其他层报错为null的解决办法
361 0
|
10月前
|
Java 数据库 Spring
spring boot 2.0 JPA主键生成策略不按单表递增解决办法
spring boot 2.0 JPA主键生成策略不按单表递增解决办法
70 0
|
Java Spring
Initialization failed for ‘https://start.spring.io‘ Please check URL, network and proxy settings解决办法
Initialization failed for ‘https://start.spring.io‘ Please check URL, network and proxy settings解决办法
1986 1
Initialization failed for ‘https://start.spring.io‘ Please check URL, network and proxy settings解决办法
|
Java 应用服务中间件 Maven
SpringBoot启动报错:Failed to introspect Class [XXX] from ClassLoader解决办法
SpringBoot启动报错:Failed to introspect Class [XXX] from ClassLoader解决办法
1419 0
SpringBoot启动报错:Failed to introspect Class [XXX] from ClassLoader解决办法