记录一次SpringCloud maven打包中遇到的问题

超、凢脫俗 2022-09-06 00:22 255阅读 0赞

1. 找不到主清单属性

build里面添加配置 配置启动类的路径

  1. ```java
  2. <plugins>
  3. <plugin>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-maven-plugin </artifactId>
  6. <configuration>
  7. <fork>true</fork>
  8. <mainClass>per.czt.demo.educms.CmsApplication</mainClass>
  9. </configuration>
  10. <executions>
  11. <execution>
  12. <goals>
  13. <goal>repackage</goal>
  14. </goals>
  15. </execution>
  16. </executions>
  17. </plugin>
  18. </plugins>
  19. ## 2. 读取不到mapper配置文件
  20. build里面添加配置 扫描resources
  21. ```xml
  22. <resources>
  23. <resource>
  24. <directory>src/main/resources</directory>
  25. <includes>
  26. <include>**/*</include>
  27. </includes>
  28. <filtering>false</filtering>
  29. </resource>
  30. </resources>

3. 程序乱码问题

properties里面添加配置

  1. <!-- 文件拷贝时的编码 -->
  2. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  3. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  4. <!-- 编译时的编码 -->
  5. <maven.compiler.encoding>UTF-8</maven.compiler.encoding>

4. logback输出乱码

logback.xml中
pattern里面的颜色不能识别
%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%blue(%thread) |%blue(%file:%line) |%green(%logger) |%cyan(%msg%n)
解决:修改pattern
%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%.15thread] %logger{36}:%X{sysUser} - %.-4096msg%n

5. logback日志乱码

去掉logback.xml文件中设置的字符集,因为默认使用gbk,设置后会导致错误

  1. <!-- 设置字符集 -->
  2. <!-- <charset>UTF-8</charset>-->

6. NoClassDefFoundError: javax/xml/bind/DatatypeConverter

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1053)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
……
由于缺少jaxb-api包导致的。在Java 8以及以前的版本,是默认包含jaxb这个jar包的;但是在java SE 9.0就不再包含着个包了,如果使用则需要手动引进。

引入javaxb依赖

  1. <dependency>
  2. <groupId>javax.xml.bind</groupId>
  3. <artifactId>jaxb-api</artifactId>
  4. <version>2.3.0</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>com.sun.xml.bind</groupId>
  8. <artifactId>jaxb-impl</artifactId>
  9. <version>2.3.0</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>com.sun.xml.bind</groupId>
  13. <artifactId>jaxb-core</artifactId>
  14. <version>2.3.0</version>
  15. </dependency>
  16. <dependency>
  17. <groupId>javax.activation</groupId>
  18. <artifactId>activation</artifactId>
  19. <version>1.1.1</version>
  20. </dependency>

发表评论

表情:
评论列表 (有 0 条评论,255人围观)

还没有评论,来说两句吧...

相关阅读