Maven 相关错误总结-1【持续更新】

2021年03月08日 15:28 · 阅读(3911) ·

开发环境

名称 版本
操作系统 Windows 10 X64
JDK JDK1.8(jdk-8u151-windows-x64)
IntelliJ IDEA IntelliJ IDEA 2018.3
Maven Maven 3.6.0

相关内容

Maven 相关错误总结-2【持续更新】

代码内容

搭建一个 Eureka 项目,项目结构如下

1.pom.xml【demo-framework】

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <!--父级:Spring Boot-->
  6. <parent>
  7. <groupId>org.springframework.boot</groupId>
  8. <artifactId>spring-boot-starter-parent</artifactId>
  9. <version>2.0.9.RELEASE</version>
  10. </parent>
  11. <name>demo-framework</name>
  12. <modelVersion>4.0.0</modelVersion>
  13. <groupId>com.demo.framework</groupId>
  14. <artifactId>demo.framework</artifactId>
  15. <version>1.0-SNAPSHOT</version>
  16. <!--在父级项目中的 pom.xml 文件使用的 packaging 配置一定为 pom。-->
  17. <!--父级的 pom 文件只作项目的子模块的整合-->
  18. <!--在 maven install 时不会生成 jar/war 压缩包-->
  19. <packaging>pom</packaging>
  20. <modules>
  21. <module>demo-eureka</module>
  22. </modules>
  23. <!--基础配置-->
  24. <properties>
  25. <java.version>1.8</java.version>
  26. <!--项目统一字符集编码-->
  27. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  28. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  29. </properties>
  30. <dependencies>
  31. <!--Spring Boot 执行器组件-->
  32. <dependency>
  33. <groupId>org.springframework.boot</groupId>
  34. <artifactId>spring-boot-starter-actuator</artifactId>
  35. </dependency>
  36. <!--Spring Cloud 基础-->
  37. <dependency>
  38. <groupId>org.springframework.cloud</groupId>
  39. <artifactId>spring-cloud-starter</artifactId>
  40. </dependency>
  41. <!--Spring Cloud 服务注册组件-->
  42. <dependency>
  43. <groupId>org.springframework.cloud</groupId>
  44. <!--此处的依赖是SpringBoot2.0以后专用的,如果您使用的SpringBoot版本低于2.0请使用spring-cloud-starter-eureka-server-->
  45. <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
  46. </dependency>
  47. <!--Spring Boot Web组件-->
  48. <dependency>
  49. <groupId>org.springframework.boot</groupId>
  50. <artifactId>spring-boot-starter-web</artifactId>
  51. </dependency>
  52. <!-- 参数校验信息 -->
  53. <dependency>
  54. <groupId>org.springframework.boot</groupId>
  55. <artifactId>spring-boot-starter-validation</artifactId>
  56. </dependency>
  57. <!-- spring aop start -->
  58. <dependency>
  59. <groupId>org.springframework.boot</groupId>
  60. <artifactId>spring-boot-starter-aop</artifactId>
  61. </dependency>
  62. <!-- spring aop end -->
  63. <!--Spring Boot 测试组件-->
  64. <dependency>
  65. <groupId>org.springframework.boot</groupId>
  66. <artifactId>spring-boot-starter-test</artifactId>
  67. <scope>test</scope>
  68. </dependency>
  69. <dependency>
  70. <groupId>org.json</groupId>
  71. <artifactId>json</artifactId>
  72. <version>20200518</version>
  73. </dependency>
  74. </dependencies>
  75. </project>

2.pom.xml【demo-eureka】

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <parent>
  6. <artifactId>demo.framework</artifactId>
  7. <groupId>com.demo.framework</groupId>
  8. <version>1.0-SNAPSHOT</version>
  9. </parent>
  10. <name>demo-eureka</name>
  11. <modelVersion>4.0.0</modelVersion>
  12. <artifactId>demo-eureka</artifactId>
  13. <!--使用 jar 方式打包-->
  14. <packaging>jar</packaging>
  15. <properties>
  16. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  17. <spring-cloud-netflix-eureka-server.version>2.1.0.RC2</spring-cloud-netflix-eureka-server.version>
  18. </properties>
  19. <dependencies>
  20. <dependency>
  21. <groupId>org.projectlombok</groupId>
  22. <artifactId>lombok</artifactId>
  23. <version>1.18.8</version>
  24. </dependency>
  25. </dependencies>
  26. <build>
  27. <finalName>${project.artifactId}</finalName>
  28. <plugins>
  29. <plugin>
  30. <groupId>org.springframework.boot</groupId>
  31. <artifactId>spring-boot-maven-plugin</artifactId>
  32. <executions>
  33. <execution>
  34. <goals>
  35. <!--如果要访问info接口想获取maven中的属性内容请记得添加如下内容-->
  36. <goal>build-info</goal>
  37. <goal>repackage</goal>
  38. </goals>
  39. </execution>
  40. </executions>
  41. <!-- 构建不包含lib的jar包-->
  42. <configuration>
  43. <layout>ZIP</layout>
  44. <includes>
  45. <include>
  46. <groupId>non-exists</groupId>
  47. <artifactId>non-exists</artifactId>
  48. </include>
  49. </includes>
  50. </configuration>
  51. </plugin>
  52. <plugin>
  53. <!-- 指定maven编译的jdk版本,如果不指定,maven3默认用jdk 1.5 maven2默认用jdk1.3 -->
  54. <groupId>org.apache.maven.plugins</groupId>
  55. <artifactId>maven-compiler-plugin</artifactId>
  56. <version>3.1</version>
  57. <configuration>
  58. <!-- 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中不能使用低版本jdk中不支持的语法),会存在target不同于source的情况 -->
  59. <source>1.8</source> <!-- 源代码使用的JDK版本 -->
  60. <target>1.8</target> <!-- 需要生成的目标class文件的编译版本 -->
  61. <encoding>UTF-8</encoding><!-- 字符集编码 -->
  62. </configuration>
  63. </plugin>
  64. <plugin>
  65. <groupId>org.sonarsource.scanner.maven</groupId>
  66. <artifactId>sonar-maven-plugin</artifactId>
  67. <version>3.5.0.1254</version>
  68. </plugin>
  69. <!-- 打包跳过TEST -->
  70. <plugin>
  71. <groupId>org.apache.maven.plugins</groupId>
  72. <artifactId>maven-surefire-plugin</artifactId>
  73. <version>2.18.1</version>
  74. <configuration>
  75. <!--true跳过测试 -->
  76. <skipTests>true</skipTests>
  77. </configuration>
  78. </plugin>
  79. <!-- 打jar包不包含yml文件 -->
  80. <plugin>
  81. <groupId>org.apache.maven.plugins</groupId>
  82. <artifactId>maven-jar-plugin</artifactId>
  83. <configuration>
  84. <!-- 排除配置文件 -->
  85. <excludes>
  86. <exclude>*.yml</exclude>
  87. <exclude>*.xml</exclude>
  88. </excludes>
  89. </configuration>
  90. </plugin>
  91. <!-- 配置文件打包到conf目录下 -->
  92. <plugin>
  93. <artifactId>maven-resources-plugin</artifactId>
  94. <executions>
  95. <execution>
  96. <id>copy-sources</id>
  97. <phase>process-sources</phase>
  98. <goals>
  99. <goal>copy-resources</goal>
  100. </goals>
  101. <configuration>
  102. <outputDirectory>${project.build.directory}/conf</outputDirectory>
  103. <resources>
  104. <resource>
  105. <directory>src/main/resources</directory>
  106. <includes>
  107. <include>*.yml</include>
  108. <include>*.xml</include>
  109. </includes>
  110. </resource>
  111. </resources>
  112. </configuration>
  113. </execution>
  114. </executions>
  115. </plugin>
  116. <!-- 依赖包到lib目录下 -->
  117. <plugin>
  118. <groupId>org.apache.maven.plugins</groupId>
  119. <artifactId>maven-dependency-plugin</artifactId>
  120. <executions>
  121. <execution>
  122. <id>copy-dependencies</id>
  123. <phase>package</phase>
  124. <goals>
  125. <goal>copy-dependencies</goal>
  126. </goals>
  127. <configuration>
  128. <outputDirectory>${project.build.directory}/lib</outputDirectory>
  129. <useBaseVersion>true</useBaseVersion>
  130. </configuration>
  131. </execution>
  132. </executions>
  133. </plugin>
  134. </plugins>
  135. <resources>
  136. <resource>
  137. <directory>src/main/resources</directory>
  138. <includes>
  139. <include>**/*</include>
  140. </includes>
  141. <filtering>false</filtering>
  142. </resource>
  143. </resources>
  144. </build>
  145. </project>

3.EureKaHaApplication

  1. package com.demo.eureka;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration;
  5. import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
  6. import org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration;
  7. import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
  8. import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
  9. import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
  10. //排除掉数据库配置项目
  11. @SpringBootApplication( exclude = {
  12. DataSourceAutoConfiguration.class,
  13. DataSourceTransactionManagerAutoConfiguration.class,
  14. RedisAutoConfiguration.class,
  15. RedisRepositoriesAutoConfiguration.class,
  16. RabbitAutoConfiguration.class
  17. })
  18. @EnableEurekaServer
  19. public class EureKaHaApplication {
  20. public static void main(String[] args) {
  21. SpringApplication.run(EureKaHaApplication.class, args);
  22. }
  23. }

4.EurekaStateChangeListener

  1. package com.demo.eureka;
  2. import com.netflix.appinfo.InstanceInfo;
  3. import lombok.extern.slf4j.Slf4j;
  4. import org.springframework.cloud.netflix.eureka.server.event.*;
  5. import org.springframework.context.event.EventListener;
  6. import org.springframework.stereotype.Component;
  7. @Slf4j
  8. @Component
  9. public class EurekaStateChangeListener {
  10. @EventListener
  11. public void listen(EurekaInstanceCanceledEvent event) {
  12. log.info(event.getServerId() + "\t" + event.getAppName() + " 服务下线");
  13. }
  14. @EventListener
  15. public void listen(EurekaInstanceRegisteredEvent event) {
  16. InstanceInfo instanceInfo = event.getInstanceInfo();
  17. log.info(instanceInfo.getAppName() + "进行注册");
  18. }
  19. @EventListener
  20. public void listen(EurekaInstanceRenewedEvent event) {
  21. log.info(event.getServerId() + "\t" + event.getAppName() + " 服务进行续约");
  22. }
  23. @EventListener
  24. public void listen(EurekaRegistryAvailableEvent event) {
  25. log.info("注册中心 启动");
  26. }
  27. @EventListener
  28. public void listen(EurekaServerStartedEvent event) {
  29. log.info("Eureka Server 启动");
  30. }
  31. }

错误:(3, 27) java: 程序包com.netflix.appinfo不存在

1.问题描述

编译项目,报错

  1. 错误:(3, 27) java: 程序包com.netflix.appinfo不存在

2.问题分析

相关的包没有引用

3.问题解决

demo-eureka pom.xml 添加下面的内容,再次编译,错误消失

  1. <properties>
  2. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  3. <spring-cloud-netflix-eureka-server.version>2.1.0.RC2</spring-cloud-netflix-eureka-server.version>
  4. </properties>
  5. <dependency>
  6. <groupId>org.springframework.cloud</groupId>
  7. <artifactId>spring-cloud-netflix-eureka-server</artifactId>
  8. <version>${spring-cloud-netflix-eureka-server.version}</version>
  9. <scope>compile</scope>
  10. </dependency>

这样问题并没有彻底解决,会引发新的问题,解决办法参考问题-Maven: org.springframework.cloud:xx:unknown

错误-Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]

1.问题描述

解决了上面的错误之后,运行程序,报下面的错误

  1. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]
  2. at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  3. at java.util.concurrent.FutureTask.get(FutureTask.java:192)
  4. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
  5. at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
  6. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  7. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1423)
  8. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1413)
  9. at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  10. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  11. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  12. at java.lang.Thread.run(Thread.java:748)
  13. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]
  14. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
  15. ... 6 common frames omitted
  16. Caused by: org.apache.catalina.LifecycleException: Failed to start component [Pipeline[StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]]
  17. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
  18. at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5146)
  19. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  20. ... 6 common frames omitted
  21. Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.authenticator.NonLoginAuthenticator[]]
  22. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
  23. at org.apache.catalina.core.StandardPipeline.startInternal(StandardPipeline.java:182)
  24. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  25. ... 8 common frames omitted
  26. Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;
  27. at org.apache.catalina.authenticator.AuthenticatorBase.startInternal(AuthenticatorBase.java:1181)
  28. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  29. ... 10 common frames omitted
  30. 2021-03-08 12:43:05.850 ERROR 6728 --- [ main] org.apache.catalina.core.ContainerBase : A child container failed during start
  31. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
  32. at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  33. at java.util.concurrent.FutureTask.get(FutureTask.java:192)
  34. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
  35. at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
  36. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  37. at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
  38. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  39. at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793)
  40. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  41. at org.apache.catalina.startup.Tomcat.start(Tomcat.java:427)
  42. at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:107)
  43. at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:86)
  44. at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:419)
  45. at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:174)
  46. at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:181)
  47. at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:154)
  48. at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:545)
  49. at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)
  50. at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
  51. at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:386)
  52. at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
  53. at org.springframework.boot.SpringApplication.run(SpringApplication.java:1242)
  54. at org.springframework.boot.SpringApplication.run(SpringApplication.java:1230)
  55. at com.demo.eureka.EureKaHaApplication.main(EureKaHaApplication.java:23)
  56. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
  57. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
  58. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1423)
  59. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1413)
  60. at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  61. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  62. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  63. at java.lang.Thread.run(Thread.java:748)
  64. Caused by: org.apache.catalina.LifecycleException: A child container failed during start
  65. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:953)
  66. at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
  67. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  68. ... 6 common frames omitted
  69. Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]
  70. at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  71. at java.util.concurrent.FutureTask.get(FutureTask.java:192)
  72. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
  73. ... 8 common frames omitted
  74. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]
  75. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
  76. ... 6 common frames omitted
  77. Caused by: org.apache.catalina.LifecycleException: Failed to start component [Pipeline[StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]]
  78. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
  79. at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5146)
  80. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  81. ... 6 common frames omitted
  82. Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.authenticator.NonLoginAuthenticator[]]
  83. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
  84. at org.apache.catalina.core.StandardPipeline.startInternal(StandardPipeline.java:182)
  85. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  86. ... 8 common frames omitted
  87. Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;
  88. at org.apache.catalina.authenticator.AuthenticatorBase.startInternal(AuthenticatorBase.java:1181)
  89. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  90. ... 10 common frames omitted
  91. 2021-03-08 12:43:05.851 INFO 6728 --- [ main] o.a.coyote.http11.Http11NioProtocol : Pausing ProtocolHandler ["http-nio-8771"]
  92. 2021-03-08 12:43:05.851 INFO 6728 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
  93. 2021-03-08 12:43:05.852 WARN 6728 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
  94. 进程已结束,退出代码 1

2.问题分析

报错信息中出现了

  1. Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()

下面这个老哥的分析,原因如下

SpringBoot报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;
Servlet-api 3.1.0 以及之后的版本中才有getVirtualServerName,确保项目中使用的是这个版本3.1.0以及之后,或者直接排除所有Servlet-api,使用SpringBoot内嵌的tomcat.

3.问题解决

打开模块设置

可以看到这里 servlet 的版本是 2.5,这里选中这个依赖,点击 - 移除

移除后再次运行项目,问题解决

问题-Maven: org.springframework.cloud:xx:unknown

1.问题描述

查看模块设置,出现 Maven: org.springframework.cloud:xx:unknown 错误

  1. 库有 'Maven: org.springframework.cloud:spring-cloud-starter:unknown' 有损坏的路径
  2. 库有 'Maven: org.springframework.cloud:spring-cloud-starter-netflix-eureka-server:unknown' 有损坏的路径

在右侧的 Maven 选项卡也存在同样问题

2.问题分析

org.springframework:spring-cloud-starter-netflix-eureka-client:unknown 的解决办法

原因很简单,是因为没有指定依赖的版本号(不知道为什么 SpringCloud 其他依赖都默认有版本号维护,但是这个没有,所以自己手动加一下)

3.问题解决

我参考了之前相同配置但无报错的 maven 引用情况,如下

(1)pom.xml【demo-framework】

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <!--父级:Spring Boot-->
  6. <parent>
  7. <groupId>org.springframework.boot</groupId>
  8. <artifactId>spring-boot-starter-parent</artifactId>
  9. <version>2.0.9.RELEASE</version>
  10. </parent>
  11. <name>demo-framework</name>
  12. <modelVersion>4.0.0</modelVersion>
  13. <groupId>com.demo.framework</groupId>
  14. <artifactId>demo.framework</artifactId>
  15. <version>1.0-SNAPSHOT</version>
  16. <!--在父级项目中的 pom.xml 文件使用的 packaging 配置一定为 pom。-->
  17. <!--父级的 pom 文件只作项目的子模块的整合-->
  18. <!--在 maven install 时不会生成 jar/war 压缩包-->
  19. <packaging>pom</packaging>
  20. <modules>
  21. <module>demo-eureka</module>
  22. </modules>
  23. <!--基础配置-->
  24. <properties>
  25. <java.version>1.8</java.version>
  26. <!--项目统一字符集编码-->
  27. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  28. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  29. <spring.boot.version>2.1.9.RELEASE</spring.boot.version>
  30. <spring.clound.version>2.1.0.RELEASE</spring.clound.version>
  31. </properties>
  32. <dependencies>
  33. <!--Spring Boot 执行器组件-->
  34. <dependency>
  35. <groupId>org.springframework.boot</groupId>
  36. <artifactId>spring-boot-starter-actuator</artifactId>
  37. <version>${spring.boot.version}</version>
  38. </dependency>
  39. <!--Spring Cloud 基础-->
  40. <dependency>
  41. <groupId>org.springframework.cloud</groupId>
  42. <artifactId>spring-cloud-starter</artifactId>
  43. <version>${spring.clound.version}</version>
  44. </dependency>
  45. <!--Spring Cloud 服务注册组件-->
  46. <dependency>
  47. <groupId>org.springframework.cloud</groupId>
  48. <!--此处的依赖是SpringBoot2.0以后专用的,如果您使用的SpringBoot版本低于2.0请使用spring-cloud-starter-eureka-server-->
  49. <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
  50. <version>${spring.clound.version}</version>
  51. </dependency>
  52. <!--Spring Boot Web组件-->
  53. <dependency>
  54. <groupId>org.springframework.boot</groupId>
  55. <artifactId>spring-boot-starter-web</artifactId>
  56. <version>${spring.boot.version}</version>
  57. </dependency>
  58. <!-- 参数校验信息 -->
  59. <dependency>
  60. <groupId>org.springframework.boot</groupId>
  61. <artifactId>spring-boot-starter-validation</artifactId>
  62. <version>${spring.boot.version}</version>
  63. </dependency>
  64. <!-- spring aop start -->
  65. <dependency>
  66. <groupId>org.springframework.boot</groupId>
  67. <artifactId>spring-boot-starter-aop</artifactId>
  68. <version>${spring.boot.version}</version>
  69. </dependency>
  70. <!-- spring aop end -->
  71. <!--Spring Boot 测试组件-->
  72. <dependency>
  73. <groupId>org.springframework.boot</groupId>
  74. <artifactId>spring-boot-starter-test</artifactId>
  75. <version>${spring.boot.version}</version>
  76. <scope>test</scope>
  77. </dependency>
  78. <dependency>
  79. <groupId>org.json</groupId>
  80. <artifactId>json</artifactId>
  81. <version>20200518</version>
  82. </dependency>
  83. </dependencies>
  84. </project>

(2)pom.xml【demo-eureka】

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <parent>
  6. <artifactId>demo.framework</artifactId>
  7. <groupId>com.demo.framework</groupId>
  8. <version>1.0-SNAPSHOT</version>
  9. </parent>
  10. <name>demo-eureka</name>
  11. <modelVersion>4.0.0</modelVersion>
  12. <artifactId>demo-eureka</artifactId>
  13. <!--使用 jar 方式打包-->
  14. <packaging>jar</packaging>
  15. <properties>
  16. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  17. </properties>
  18. <dependencies>
  19. <dependency>
  20. <groupId>org.projectlombok</groupId>
  21. <artifactId>lombok</artifactId>
  22. <version>1.18.8</version>
  23. </dependency>
  24. <!-- 引入此jar会有版本冲突问题
  25. <dependency>
  26. <groupId>org.springframework.cloud</groupId>
  27. <artifactId>spring-cloud-netflix-eureka-server</artifactId>
  28. <version>2.1.0.RC2</version>
  29. </dependency>-->
  30. </dependencies>
  31. <build>
  32. <finalName>${project.artifactId}</finalName>
  33. <plugins>
  34. <plugin>
  35. <groupId>org.springframework.boot</groupId>
  36. <artifactId>spring-boot-maven-plugin</artifactId>
  37. <executions>
  38. <execution>
  39. <goals>
  40. <!--如果要访问info接口想获取maven中的属性内容请记得添加如下内容-->
  41. <goal>build-info</goal>
  42. <goal>repackage</goal>
  43. </goals>
  44. </execution>
  45. </executions>
  46. <!-- 构建不包含lib的jar包-->
  47. <configuration>
  48. <layout>ZIP</layout>
  49. <includes>
  50. <include>
  51. <groupId>non-exists</groupId>
  52. <artifactId>non-exists</artifactId>
  53. </include>
  54. </includes>
  55. </configuration>
  56. </plugin>
  57. <plugin>
  58. <!-- 指定maven编译的jdk版本,如果不指定,maven3默认用jdk 1.5 maven2默认用jdk1.3 -->
  59. <groupId>org.apache.maven.plugins</groupId>
  60. <artifactId>maven-compiler-plugin</artifactId>
  61. <version>3.1</version>
  62. <configuration>
  63. <!-- 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中不能使用低版本jdk中不支持的语法),会存在target不同于source的情况 -->
  64. <source>1.8</source> <!-- 源代码使用的JDK版本 -->
  65. <target>1.8</target> <!-- 需要生成的目标class文件的编译版本 -->
  66. <encoding>UTF-8</encoding><!-- 字符集编码 -->
  67. </configuration>
  68. </plugin>
  69. <plugin>
  70. <groupId>org.sonarsource.scanner.maven</groupId>
  71. <artifactId>sonar-maven-plugin</artifactId>
  72. <version>3.5.0.1254</version>
  73. </plugin>
  74. <!-- 打包跳过TEST -->
  75. <plugin>
  76. <groupId>org.apache.maven.plugins</groupId>
  77. <artifactId>maven-surefire-plugin</artifactId>
  78. <version>2.18.1</version>
  79. <configuration>
  80. <!--true跳过测试 -->
  81. <skipTests>true</skipTests>
  82. </configuration>
  83. </plugin>
  84. <!-- 打jar包不包含yml文件 -->
  85. <plugin>
  86. <groupId>org.apache.maven.plugins</groupId>
  87. <artifactId>maven-jar-plugin</artifactId>
  88. <configuration>
  89. <!-- 排除配置文件 -->
  90. <excludes>
  91. <exclude>*.yml</exclude>
  92. <exclude>*.xml</exclude>
  93. </excludes>
  94. </configuration>
  95. </plugin>
  96. <!-- 配置文件打包到conf目录下 -->
  97. <plugin>
  98. <artifactId>maven-resources-plugin</artifactId>
  99. <executions>
  100. <execution>
  101. <id>copy-sources</id>
  102. <phase>process-sources</phase>
  103. <goals>
  104. <goal>copy-resources</goal>
  105. </goals>
  106. <configuration>
  107. <outputDirectory>${project.build.directory}/conf</outputDirectory>
  108. <resources>
  109. <resource>
  110. <directory>src/main/resources</directory>
  111. <includes>
  112. <include>*.yml</include>
  113. <include>*.xml</include>
  114. </includes>
  115. </resource>
  116. </resources>
  117. </configuration>
  118. </execution>
  119. </executions>
  120. </plugin>
  121. <!-- 依赖包到lib目录下 -->
  122. <plugin>
  123. <groupId>org.apache.maven.plugins</groupId>
  124. <artifactId>maven-dependency-plugin</artifactId>
  125. <executions>
  126. <execution>
  127. <id>copy-dependencies</id>
  128. <phase>package</phase>
  129. <goals>
  130. <goal>copy-dependencies</goal>
  131. </goals>
  132. <configuration>
  133. <outputDirectory>${project.build.directory}/lib</outputDirectory>
  134. <useBaseVersion>true</useBaseVersion>
  135. </configuration>
  136. </execution>
  137. </executions>
  138. </plugin>
  139. </plugins>
  140. <resources>
  141. <resource>
  142. <directory>src/main/resources</directory>
  143. <includes>
  144. <include>**/*</include>
  145. </includes>
  146. <filtering>false</filtering>
  147. </resource>
  148. </resources>
  149. </build>
  150. </project>

4.测试结果

配置后,点击 Import Changes,问题解决

错误-无法解析符号 ‘log’

1.问题描述

2.问题分析

猜测是没有安装 Lombok 插件引起的

3.问题解决

安装 Lombok 插件后,问题解决

IntelliJ IDEA 2018.3 安装 Lombok 插件

4.扩展-相关问题

IntelliJ IDEA 2018.3 安装 Lombok 插件

错误-无法解析符号 ‘log’

引用 lombok 使用 log 提示找不到符号

错误-No active profile set, falling back to default profiles: default

1.问题描述

启动项目,控制台打印了下面的信息,然后程序就结束了

  1. 2021-03-09 21:13:45.487 INFO 121688 --- [ main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@7722c3c3: startup date [Tue Mar 09 21:13:45 CST 2021]; root of context hierarchy
  2. 2021-03-09 21:13:45.806 INFO 121688 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
  3. 2021-03-09 21:13:45.836 INFO 121688 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$1bb2196e] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
  4. 2021-03-09 21:13:47.497 INFO 121688 --- [ main] com.demo.eureka.EureKaHaApplication : No active profile set, falling back to default profiles: default
  5. 进程已结束,退出代码 1

2.问题分析

查了很多解决方案,都没办法解决,最后请教杨老师,他说是还有些包没有引用。

再次分析了之前成功运行的项目,发现还需要引用一个父 pom 文件

3.问题解决

(1)新建 enta-parent.pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <!-- <parent>-->
  6. <!-- <groupId>org.springframework.boot</groupId>-->
  7. <!-- <artifactId>spring-boot-dependencies</artifactId>-->
  8. <!-- <version>2.1.9.RELEASE</version>-->
  9. <!-- </parent>-->
  10. <groupId>com.demo.enta</groupId>
  11. <artifactId>enta-parent</artifactId>
  12. <version>1.0.3.RELEASE</version>
  13. <name>enta-parent</name>
  14. <packaging>pom</packaging>
  15. <description>
  16. enta基本库,负责引入公共开源lib库版本定义、maven发布配置、环境配置等职责
  17. -----这个版本主要解决以下问题------
  18. 漏洞描述:
  19. VMware Tanzu发布安全公告,在Spring Framework版本5.2.0-5.2.8、5.1.0-5.1.17、5.0.0-5.0.18、4.3.0-4.3.28和较旧的不受支持的版本中,公布了一个存在于Spring Framework中的反射型文件下载(Reflected File Download,RFD)漏洞CVE-2020-5421。
  20. CVE-2020-5421 可通过jsessionid路径参数,绕过防御RFD攻击的保护。攻击者通过向用户发送带有批处理脚本扩展名的URL,使用户下载并执行文件,从而危害用户系统。VMware Tanzu官方已发布修复漏洞的新版本。
  21. Spring Framework是 Java 平台的一个开源全栈应用程序框架和控制反转容器实现,一般被直接称为 Spring。
  22. 漏洞等级:高危
  23. 受影响的版本:
  24. Spring Framework
  25. 5.2.0 - 5.2.8
  26. 5.1.0 - 5.1.17
  27. 5.0.0 - 5.0.18
  28. 4.3.0 - 4.3.28
  29. 及更早期的版本
  30. 安全版本:
  31. Spring Framework
  32. 5.2.9
  33. 5.1.18
  34. 5.0.19
  35. 4.3.29
  36. 下载链接:
  37. https://github.com/spring-projects/spring-framework/releases
  38. fastJson : 1.2.67 -> 1.2.69 版本
  39. xstream: 1.4.10 -> 1.4.11 版本
  40. </description>
  41. <properties>
  42. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  43. <project.repofastjsonrting.outputEncoding>UTF-8</project.repofastjsonrting.outputEncoding>
  44. <java.version>1.8</java.version>
  45. <resource.delimiter>@</resource.delimiter>
  46. <maven.compiler.source>${java.version}</maven.compiler.source>
  47. <maven.compiler.target>${java.version}</maven.compiler.target>
  48. <maven.compiler.compilerVersion>${java.version}</maven.compiler.compilerVersion>
  49. <spring.boot.version>2.1.9.RELEASE</spring.boot.version>
  50. <spring.cloud.version>Greenwich.RELEASE</spring.cloud.version>
  51. <mybatis-plus-spring-boot-starter.version>3.1.0</mybatis-plus-spring-boot-starter.version>
  52. <mybatisplus.version>3.1.0</mybatisplus.version>
  53. <fastjson.version>1.2.69</fastjson.version>
  54. <swagger.version>2.7.0</swagger.version>
  55. <swagger-ui.version>2.7.0</swagger-ui.version>
  56. <swagger-bootstrap-ui.version>1.9.2</swagger-bootstrap-ui.version>
  57. <commons-codec.version>1.10</commons-codec.version>
  58. <commons-lang3.version>3.6</commons-lang3.version>
  59. <commons-io.version>2.5</commons-io.version>
  60. <commons-text.version>1.7</commons-text.version>
  61. <commons-httpclient.version>3.1</commons-httpclient.version>
  62. <HikariCP.version>3.3.1</HikariCP.version>
  63. <velocity.version>1.7</velocity.version>
  64. <jjwt.version>0.8.0</jjwt.version>
  65. <jjwt.version2>3.4.1</jjwt.version2>
  66. <hutool.version>4.5.1</hutool.version>
  67. <lombok.version>1.18.8</lombok.version>
  68. <gson.version>2.8.5</gson.version>
  69. <guava.version>23.0</guava.version>
  70. <security-oauth2.version>2.3.6.RELEASE</security-oauth2.version>
  71. <p6spy.version>3.8.5</p6spy.version>
  72. <druid.version>1.1.20</druid.version>
  73. <druid.starter.version>1.1.20</druid.starter.version>
  74. <feign-okhttp.version>10.5.1</feign-okhttp.version>
  75. <spring.boot.admin.server.version>2.1.6</spring.boot.admin.server.version>
  76. <dec.version>0.1.2</dec.version>
  77. <spring.version>5.1.18.RELEASE</spring.version>
  78. <spring-framework.version>${spring.version}</spring-framework.version>
  79. <xstream.version>1.4.11</xstream.version>
  80. </properties>
  81. <!--Spring Cloud 版本序列配置-->
  82. <dependencyManagement>
  83. <dependencies>
  84. <!-- Override springframework release train provided by Spring Boot -->
  85. <!--https://www.cnblogs.com/zhangjianbin/p/10076427.html-->
  86. <dependency>
  87. <groupId>org.springframework</groupId>
  88. <artifactId>spring-core</artifactId>
  89. <version>${spring-framework.version}</version>
  90. <scope>import</scope>
  91. <type>pom</type>
  92. </dependency>
  93. <dependency>
  94. <groupId>org.springframework</groupId>
  95. <artifactId>spring-framework-bom</artifactId>
  96. <version>${spring-framework.version}</version>
  97. <type>pom</type>
  98. <scope>import</scope>
  99. </dependency>
  100. <dependency>
  101. <groupId>org.springframework.boot</groupId>
  102. <artifactId>spring-boot-dependencies</artifactId>
  103. <version>${spring.boot.version}</version>
  104. <type>pom</type>
  105. <scope>import</scope>
  106. </dependency>
  107. <dependency>
  108. <groupId>com.thoughtworks.xstream</groupId>
  109. <artifactId>xstream</artifactId>
  110. <version>${xstream.version}</version>
  111. <scope>import</scope>
  112. <type>pom</type>
  113. </dependency>
  114. <dependency>
  115. <groupId>org.springframework.cloud</groupId>
  116. <artifactId>spring-cloud-dependencies</artifactId>
  117. <version>${spring.cloud.version}</version>
  118. <type>pom</type>
  119. <scope>import</scope>
  120. <exclusions>
  121. <exclusion>
  122. <groupId>redis.clients</groupId>
  123. <artifactId>jedis</artifactId>
  124. </exclusion>
  125. </exclusions>
  126. </dependency>
  127. <!-- 用于日志切面中,以 json 格式打印出入参(本来使用阿里的 FASTJSON, 但是对于文件上传的接口,打印参数会报错,换为 Gson) -->
  128. <dependency>
  129. <groupId>com.google.code.gson</groupId>
  130. <artifactId>gson</artifactId>
  131. <version>${gson.version}</version>
  132. </dependency>
  133. <!--lombok start-->
  134. <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
  135. <dependency>
  136. <groupId>org.projectlombok</groupId>
  137. <artifactId>lombok</artifactId>
  138. <version>${lombok.version}</version>
  139. </dependency>
  140. <!--lombok end-->
  141. <!--fastJson start-->
  142. <dependency>
  143. <groupId>com.alibaba</groupId>
  144. <artifactId>fastjson</artifactId>
  145. <version>${fastjson.version}</version>
  146. </dependency>
  147. <!--fastJson end-->
  148. <dependency>
  149. <groupId>com.alibaba</groupId>
  150. <artifactId>druid-spring-boot-starter</artifactId>
  151. <version>${druid.starter.version}</version>
  152. </dependency>
  153. <!--swagger start-->
  154. <dependency>
  155. <groupId>io.springfox</groupId>
  156. <artifactId>springfox-swagger2</artifactId>
  157. <version>${swagger.version}</version>
  158. </dependency>
  159. <dependency>
  160. <groupId>io.springfox</groupId>
  161. <artifactId>springfox-swagger-ui</artifactId>
  162. <version>${swagger-ui.version}</version>
  163. </dependency>
  164. <dependency>
  165. <groupId>com.github.xiaoymin</groupId>
  166. <artifactId>swagger-bootstrap-ui</artifactId>
  167. <version>${swagger-bootstrap-ui.version}</version>
  168. </dependency>
  169. <!--swagger end-->
  170. <dependency>
  171. <groupId>com.google.guava</groupId>
  172. <artifactId>guava</artifactId>
  173. <version>${guava.version}</version>
  174. </dependency>
  175. <!--jwt start-->
  176. <dependency>
  177. <groupId>io.jsonwebtoken</groupId>
  178. <artifactId>jjwt</artifactId>
  179. <version>${jjwt.version}</version>
  180. </dependency>
  181. <!--jwt end-->
  182. <dependency>
  183. <groupId>com.auth0</groupId>
  184. <artifactId>java-jwt</artifactId>
  185. <version>${jjwt.version2}</version>
  186. </dependency>
  187. <dependency>
  188. <groupId>commons-io</groupId>
  189. <artifactId>commons-io</artifactId>
  190. <version>${commons-io.version}</version>
  191. </dependency>
  192. <dependency>
  193. <groupId>cn.hutool</groupId>
  194. <artifactId>hutool-all</artifactId>
  195. <version>${hutool.version}</version>
  196. </dependency>
  197. <dependency>
  198. <groupId>org.apache.commons</groupId>
  199. <artifactId>commons-text</artifactId>
  200. <version>${commons-text.version}</version>
  201. </dependency>
  202. <dependency>
  203. <groupId>org.springframework.security.oauth</groupId>
  204. <artifactId>spring-security-oauth2</artifactId>
  205. <version>${security-oauth2.version}</version>
  206. </dependency>
  207. <dependency>
  208. <groupId>com.baomidou</groupId>
  209. <artifactId>mybatis-plus-boot-starter</artifactId>
  210. <version>${mybatis-plus-spring-boot-starter.version}</version>
  211. </dependency>
  212. <dependency>
  213. <groupId>com.baomidou</groupId>
  214. <artifactId>mybatis-plus</artifactId>
  215. <version>${mybatisplus.version}</version>
  216. </dependency>
  217. <dependency>
  218. <groupId>io.github.openfeign</groupId>
  219. <artifactId>feign-okhttp</artifactId>
  220. <version>${feign-okhttp.version}</version>
  221. </dependency>
  222. <dependency>
  223. <groupId>de.codecentric</groupId>
  224. <artifactId>spring-boot-admin-starter-server</artifactId>
  225. <version>${spring.boot.admin.server.version}</version>
  226. </dependency>
  227. <!-- https://mvnrepository.com/artifact/org.brotli/dec -->
  228. <dependency>
  229. <groupId>org.brotli</groupId>
  230. <artifactId>dec</artifactId>
  231. <version>${dec.version}</version>
  232. </dependency>
  233. </dependencies>
  234. </dependencyManagement>
  235. <!--注意:这里必须要添加,否则各种依赖有问题-->
  236. <!--<repositories>-->
  237. <!--<repository>-->
  238. <!--<id>spring-milestones</id>-->
  239. <!--<name>Spring Milestones</name>-->
  240. <!--<url>https://repo.spring.io/libs-milestone</url>-->
  241. <!--<snapshots>-->
  242. <!--<enabled>false</enabled>-->
  243. <!--</snapshots>-->
  244. <!--</repository>-->
  245. <!--</repositories>-->
  246. <distributionManagement>
  247. <!--<repository>-->
  248. <!--<id>internal.releases</id>-->
  249. <!--<name>internal repository for releases</name>-->
  250. <!--<url>http://maven.oa.com/nexus/content/repositories/thirdparty/</url>-->
  251. <!--</repository>-->
  252. <!--<snapshotRepository>-->
  253. <!--<id>internal.snapshots</id>-->
  254. <!--<name>internal repository for snapshots</name>-->
  255. <!--<url>http://maven.oa.com/nexus/content/repositories/thirdparty-snapshots/</url>-->
  256. <!--</snapshotRepository>-->
  257. </distributionManagement>
  258. </project>

(2)pom.xml【demo-framework】

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <parent>
  6. <artifactId>enta-parent</artifactId>
  7. <groupId>com.demo.enta</groupId>
  8. <version>1.0.3.RELEASE</version>
  9. <relativePath>enta-parent.pom.xml</relativePath>
  10. </parent>
  11. <name>demo-framework</name>
  12. <modelVersion>4.0.0</modelVersion>
  13. <groupId>com.demo.framework</groupId>
  14. <artifactId>demo.framework</artifactId>
  15. <version>1.0-SNAPSHOT</version>
  16. <!--在父级项目中的 pom.xml 文件使用的 packaging 配置一定为 pom。-->
  17. <!--父级的 pom 文件只作项目的子模块的整合-->
  18. <!--在 maven install 时不会生成 jar/war 压缩包-->
  19. <packaging>pom</packaging>
  20. <modules>
  21. <module>demo-eureka</module>
  22. </modules>
  23. <!--基础配置-->
  24. <properties>
  25. <java.version>1.8</java.version>
  26. <!--项目统一字符集编码-->
  27. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  28. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  29. </properties>
  30. <dependencies>
  31. <!--Spring Boot 执行器组件-->
  32. <dependency>
  33. <groupId>org.springframework.boot</groupId>
  34. <artifactId>spring-boot-starter-actuator</artifactId>
  35. </dependency>
  36. <!--Spring Cloud 基础-->
  37. <dependency>
  38. <groupId>org.springframework.cloud</groupId>
  39. <artifactId>spring-cloud-starter</artifactId>
  40. </dependency>
  41. <!--Spring Cloud 服务注册组件-->
  42. <dependency>
  43. <groupId>org.springframework.cloud</groupId>
  44. <!--此处的依赖是SpringBoot2.0以后专用的,如果您使用的SpringBoot版本低于2.0请使用spring-cloud-starter-eureka-server-->
  45. <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
  46. </dependency>
  47. <!--Spring Boot Web组件-->
  48. <dependency>
  49. <groupId>org.springframework.boot</groupId>
  50. <artifactId>spring-boot-starter-web</artifactId>
  51. </dependency>
  52. <!-- 参数校验信息 -->
  53. <dependency>
  54. <groupId>org.springframework.boot</groupId>
  55. <artifactId>spring-boot-starter-validation</artifactId>
  56. <version>2.1.9.RELEASE</version>
  57. </dependency>
  58. <!-- spring aop start -->
  59. <dependency>
  60. <groupId>org.springframework.boot</groupId>
  61. <artifactId>spring-boot-starter-aop</artifactId>
  62. </dependency>
  63. <!-- spring aop end -->
  64. <!--Spring Boot 测试组件-->
  65. <dependency>
  66. <groupId>org.springframework.boot</groupId>
  67. <artifactId>spring-boot-starter-test</artifactId>
  68. <scope>test</scope>
  69. </dependency>
  70. <dependency>
  71. <groupId>org.json</groupId>
  72. <artifactId>json</artifactId>
  73. <version>20200518</version>
  74. </dependency>
  75. </dependencies>
  76. </project>

(3)pom.xml【demo-eureka】

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <parent>
  6. <artifactId>demo.framework</artifactId>
  7. <groupId>com.demo.framework</groupId>
  8. <version>1.0-SNAPSHOT</version>
  9. </parent>
  10. <name>demo-eureka</name>
  11. <modelVersion>4.0.0</modelVersion>
  12. <artifactId>demo-eureka</artifactId>
  13. <!--使用 jar 方式打包-->
  14. <packaging>jar</packaging>
  15. <properties>
  16. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  17. </properties>
  18. <dependencies>
  19. <!-- 引入此jar会有版本冲突问题
  20. <dependency>
  21. <groupId>org.springframework.cloud</groupId>
  22. <artifactId>spring-cloud-netflix-eureka-server</artifactId>
  23. <version>2.1.0.RC2</version>
  24. </dependency>-->
  25. <!--虽然 enta-parent.pom.xml 引用了这个组件,但是这里不引用,程序还是会报错"程序包 lombok.extern.slf4j不存在"-->
  26. <dependency>
  27. <groupId>org.projectlombok</groupId>
  28. <artifactId>lombok</artifactId>
  29. <version>1.18.8</version>
  30. </dependency>
  31. </dependencies>
  32. <build>
  33. <finalName>${project.artifactId}</finalName>
  34. <plugins>
  35. <plugin>
  36. <groupId>org.springframework.boot</groupId>
  37. <artifactId>spring-boot-maven-plugin</artifactId>
  38. <executions>
  39. <execution>
  40. <goals>
  41. <!--如果要访问info接口想获取maven中的属性内容请记得添加如下内容-->
  42. <goal>build-info</goal>
  43. <goal>repackage</goal>
  44. </goals>
  45. </execution>
  46. </executions>
  47. <!-- 构建不包含lib的jar包-->
  48. <configuration>
  49. <layout>ZIP</layout>
  50. <includes>
  51. <include>
  52. <groupId>non-exists</groupId>
  53. <artifactId>non-exists</artifactId>
  54. </include>
  55. </includes>
  56. </configuration>
  57. </plugin>
  58. <plugin>
  59. <!-- 指定maven编译的jdk版本,如果不指定,maven3默认用jdk 1.5 maven2默认用jdk1.3 -->
  60. <groupId>org.apache.maven.plugins</groupId>
  61. <artifactId>maven-compiler-plugin</artifactId>
  62. <version>3.1</version>
  63. <configuration>
  64. <!-- 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中不能使用低版本jdk中不支持的语法),会存在target不同于source的情况 -->
  65. <source>1.8</source> <!-- 源代码使用的JDK版本 -->
  66. <target>1.8</target> <!-- 需要生成的目标class文件的编译版本 -->
  67. <encoding>UTF-8</encoding><!-- 字符集编码 -->
  68. </configuration>
  69. </plugin>
  70. <plugin>
  71. <groupId>org.sonarsource.scanner.maven</groupId>
  72. <artifactId>sonar-maven-plugin</artifactId>
  73. <version>3.5.0.1254</version>
  74. </plugin>
  75. <!-- 打包跳过TEST -->
  76. <plugin>
  77. <groupId>org.apache.maven.plugins</groupId>
  78. <artifactId>maven-surefire-plugin</artifactId>
  79. <version>2.18.1</version>
  80. <configuration>
  81. <!--true跳过测试 -->
  82. <skipTests>true</skipTests>
  83. </configuration>
  84. </plugin>
  85. <!-- 打jar包不包含yml文件 -->
  86. <plugin>
  87. <groupId>org.apache.maven.plugins</groupId>
  88. <artifactId>maven-jar-plugin</artifactId>
  89. <configuration>
  90. <!-- 排除配置文件 -->
  91. <excludes>
  92. <exclude>*.yml</exclude>
  93. <exclude>*.xml</exclude>
  94. </excludes>
  95. </configuration>
  96. </plugin>
  97. <!-- 配置文件打包到conf目录下 -->
  98. <plugin>
  99. <artifactId>maven-resources-plugin</artifactId>
  100. <executions>
  101. <execution>
  102. <id>copy-sources</id>
  103. <phase>process-sources</phase>
  104. <goals>
  105. <goal>copy-resources</goal>
  106. </goals>
  107. <configuration>
  108. <outputDirectory>${project.build.directory}/conf</outputDirectory>
  109. <resources>
  110. <resource>
  111. <directory>src/main/resources</directory>
  112. <includes>
  113. <include>*.yml</include>
  114. <include>*.xml</include>
  115. </includes>
  116. </resource>
  117. </resources>
  118. </configuration>
  119. </execution>
  120. </executions>
  121. </plugin>
  122. <!-- 依赖包到lib目录下 -->
  123. <plugin>
  124. <groupId>org.apache.maven.plugins</groupId>
  125. <artifactId>maven-dependency-plugin</artifactId>
  126. <executions>
  127. <execution>
  128. <id>copy-dependencies</id>
  129. <phase>package</phase>
  130. <goals>
  131. <goal>copy-dependencies</goal>
  132. </goals>
  133. <configuration>
  134. <outputDirectory>${project.build.directory}/lib</outputDirectory>
  135. <useBaseVersion>true</useBaseVersion>
  136. </configuration>
  137. </execution>
  138. </executions>
  139. </plugin>
  140. </plugins>
  141. <resources>
  142. <resource>
  143. <directory>src/main/resources</directory>
  144. <includes>
  145. <include>**/*</include>
  146. </includes>
  147. <filtering>false</filtering>
  148. </resource>
  149. </resources>
  150. </build>
  151. </project>

错误-无法解析符号 ‘lombok’

错误-无法解析符号 ‘lombok’

错误-The Tomcat connector configured to listen on port 8771 failed to start

1.问题描述

启动项目,控制台报下面的错误

  1. Description:
  2. The Tomcat connector configured to listen on port 8771 failed to start. The port may already be in use or the connector may be misconfigured.
  3. Action:
  4. Verify the connector's configuration, identify and stop any process that's listening on port 8771, or configure this application to listen on another port.

2.问题分析

这是端口被占用导致的

3.问题解决

(1)查看占用端口号的 PID-netstat -ano

(2)根据 PID 查询程序-tasklist | findstr "2864"

(3)结束程序-taskkill /f /t /im java.exe

4.测试结果

http://127.0.0.1:8771/

错误-Could not resolve dependencies for project

1.问题描述

(1)enta-parent.pom.xml

enta-parent.pom.xml新建%20enta-parent.pom.xml “enta-parent.pom.xml”)

(2)pom.xml【demo-framework】

pom.xml【demo-framework】pom.xml【demo-framework】 “pom.xml【demo-framework】”)

(3)pom.xml【demo-server】

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <parent>
  6. <artifactId>demo.framework</artifactId>
  7. <groupId>com.demo.framework</groupId>
  8. <version>1.0-SNAPSHOT</version>
  9. </parent>
  10. <name>demo-server</name>
  11. <modelVersion>4.0.0</modelVersion>
  12. <artifactId>demo-server</artifactId>
  13. <!--使用 jar 方式打包-->
  14. <packaging>jar</packaging>
  15. <dependencies>
  16. <dependency>
  17. <groupId>com.demo.framework</groupId>
  18. <artifactId>demo-common</artifactId>
  19. <version>1.0-SNAPSHOT</version>
  20. </dependency>
  21. <!--mysql-->
  22. <dependency>
  23. <groupId>mysql</groupId>
  24. <artifactId>mysql-connector-java</artifactId>
  25. </dependency>
  26. <!--db-->
  27. <dependency>
  28. <groupId>com.zaxxer</groupId>
  29. <artifactId>HikariCP</artifactId>
  30. </dependency>
  31. <dependency>
  32. <groupId>com.baomidou</groupId>
  33. <artifactId>mybatis-plus-boot-starter</artifactId>
  34. </dependency>
  35. <dependency>
  36. <groupId>org.apache.commons</groupId>
  37. <artifactId>commons-pool2</artifactId>
  38. </dependency>
  39. <!--redis start-->
  40. <dependency>
  41. <groupId>org.springframework.boot</groupId>
  42. <artifactId>spring-boot-starter-data-redis</artifactId>
  43. </dependency>
  44. <dependency>
  45. <groupId>org.springframework.cloud</groupId>
  46. <artifactId>spring-cloud-starter-zipkin</artifactId>
  47. </dependency>
  48. <!--<dependency>-->
  49. <!--<groupId>org.springframework.cloud</groupId>-->
  50. <!--&lt;!&ndash;此处的依赖是SpringBoot2.0以后专用的,如果您使用的SpringBoot版本低于2.0请使用spring-cloud-starter-eureka-server&ndash;&gt;-->
  51. <!--<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>-->
  52. <!--</dependency>-->
  53. </dependencies>
  54. <build>
  55. <finalName>${project.artifactId}</finalName>
  56. <plugins>
  57. <plugin>
  58. <groupId>org.springframework.boot</groupId>
  59. <artifactId>spring-boot-maven-plugin</artifactId>
  60. <executions>
  61. <execution>
  62. <goals>
  63. <!--如果要访问info接口想获取maven中的属性内容请记得添加如下内容-->
  64. <goal>build-info</goal>
  65. <goal>repackage</goal>
  66. </goals>
  67. </execution>
  68. </executions>
  69. <!-- 构建不包含lib的jar包-->
  70. <configuration>
  71. <layout>ZIP</layout>
  72. <includes>
  73. <include>
  74. <groupId>non-exists</groupId>
  75. <artifactId>non-exists</artifactId>
  76. </include>
  77. </includes>
  78. </configuration>
  79. </plugin>
  80. <plugin>
  81. <!-- 指定maven编译的jdk版本,如果不指定,maven3默认用jdk 1.5 maven2默认用jdk1.3 -->
  82. <groupId>org.apache.maven.plugins</groupId>
  83. <artifactId>maven-compiler-plugin</artifactId>
  84. <version>3.1</version>
  85. <configuration>
  86. <!-- 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中不能使用低版本jdk中不支持的语法),会存在target不同于source的情况 -->
  87. <source>1.8</source> <!-- 源代码使用的JDK版本 -->
  88. <target>1.8</target> <!-- 需要生成的目标class文件的编译版本 -->
  89. <encoding>UTF-8</encoding><!-- 字符集编码 -->
  90. </configuration>
  91. </plugin>
  92. <plugin>
  93. <groupId>org.sonarsource.scanner.maven</groupId>
  94. <artifactId>sonar-maven-plugin</artifactId>
  95. <version>3.5.0.1254</version>
  96. </plugin>
  97. <!-- 打包跳过TEST -->
  98. <plugin>
  99. <groupId>org.apache.maven.plugins</groupId>
  100. <artifactId>maven-surefire-plugin</artifactId>
  101. <version>2.18.1</version>
  102. <configuration>
  103. <!--true跳过测试 -->
  104. <skipTests>true</skipTests>
  105. </configuration>
  106. </plugin>
  107. <!-- 打jar包不包含yml文件 -->
  108. <plugin>
  109. <groupId>org.apache.maven.plugins</groupId>
  110. <artifactId>maven-jar-plugin</artifactId>
  111. <configuration>
  112. <!-- 排除配置文件 -->
  113. <excludes>
  114. <exclude>*.yml</exclude>
  115. <exclude>*.xml</exclude>
  116. </excludes>
  117. </configuration>
  118. </plugin>
  119. <!-- 配置文件打包到conf目录下 -->
  120. <plugin>
  121. <artifactId>maven-resources-plugin</artifactId>
  122. <executions>
  123. <execution>
  124. <id>copy-sources</id>
  125. <phase>process-sources</phase>
  126. <goals>
  127. <goal>copy-resources</goal>
  128. </goals>
  129. <configuration>
  130. <outputDirectory>${project.build.directory}/conf</outputDirectory>
  131. <resources>
  132. <resource>
  133. <directory>src/main/resources</directory>
  134. <includes>
  135. <include>*.yml</include>
  136. <include>*.xml</include>
  137. </includes>
  138. </resource>
  139. </resources>
  140. </configuration>
  141. </execution>
  142. </executions>
  143. </plugin>
  144. <!-- 依赖包到lib目录下 -->
  145. <plugin>
  146. <groupId>org.apache.maven.plugins</groupId>
  147. <artifactId>maven-dependency-plugin</artifactId>
  148. <executions>
  149. <execution>
  150. <id>copy-dependencies</id>
  151. <phase>package</phase>
  152. <goals>
  153. <goal>copy-dependencies</goal>
  154. </goals>
  155. <configuration>
  156. <outputDirectory>${project.build.directory}/lib</outputDirectory>
  157. <useBaseVersion>true</useBaseVersion>
  158. </configuration>
  159. </execution>
  160. </executions>
  161. </plugin>
  162. </plugins>
  163. <resources>
  164. <resource>
  165. <directory>src/main/resources</directory>
  166. <includes>
  167. <include>**/*</include>
  168. </includes>
  169. <filtering>false</filtering>
  170. </resource>
  171. </resources>
  172. </build>
  173. </project>

(4)打包

Maven-demo-server-Lifecyle-package

报错

  1. [INFO] --------------------------------[ jar ]---------------------------------
  2. [INFO] ------------------------------------------------------------------------
  3. [INFO] BUILD FAILURE
  4. [INFO] ------------------------------------------------------------------------
  5. [INFO] Total time: 1.491 s
  6. [INFO] Finished at: 2021-03-21T12:39:44+08:00
  7. [INFO] ------------------------------------------------------------------------
  8. [ERROR] Failed to execute goal on project demo-server: Could not resolve dependencies for project com.demo.framework:demo-server:jar:1.0-SNAPSHOT: Failed to collect dependencies at com.demo.framework:demo-common:jar:1.0-SNAPSHOT: Failed to read artifact descriptor for com.demo.framework:demo-common:jar:1.0-SNAPSHOT: Failure to find com.demo.enta:enta-parent:pom:1.0.3.RELEASE in http://maven.aliyun.com/nexus/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of alimaven has elapsed or updates are forced -> [Help 1]
  9. [ERROR]
  10. [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
  11. [ERROR] Re-run Maven using the -X switch to enable full debug logging.
  12. [ERROR]
  13. [ERROR] For more information about the errors and possible solutions, please read the following articles:
  14. [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
  15. 进程已结束,退出代码 1

2.问题分析

根据错误提示 Failure to find com.demo.enta:enta-parent:pom:1.0.3.RELEASE in

应该是无法解析 com.demo.enta

3.问题解决

(1)pom.xml【demo-framework】

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <description>
  6. enta基本库,负责引入公共开源lib库版本定义、maven发布配置、环境配置等职责
  7. -----这个版本主要解决以下问题------
  8. 漏洞描述:
  9. VMware Tanzu发布安全公告,在Spring Framework版本5.2.0-5.2.8、5.1.0-5.1.17、5.0.0-5.0.18、4.3.0-4.3.28和较旧的不受支持的版本中,公布了一个存在于Spring Framework中的反射型文件下载(Reflected File Download,RFD)漏洞CVE-2020-5421。
  10. CVE-2020-5421 可通过jsessionid路径参数,绕过防御RFD攻击的保护。攻击者通过向用户发送带有批处理脚本扩展名的URL,使用户下载并执行文件,从而危害用户系统。VMware Tanzu官方已发布修复漏洞的新版本。
  11. Spring Framework是 Java 平台的一个开源全栈应用程序框架和控制反转容器实现,一般被直接称为 Spring。
  12. 漏洞等级:高危
  13. 受影响的版本:
  14. Spring Framework
  15. 5.2.0 - 5.2.8
  16. 5.1.0 - 5.1.17
  17. 5.0.0 - 5.0.18
  18. 4.3.0 - 4.3.28
  19. 及更早期的版本
  20. 安全版本:
  21. Spring Framework
  22. 5.2.9
  23. 5.1.18
  24. 5.0.19
  25. 4.3.29
  26. 下载链接:
  27. https://github.com/spring-projects/spring-framework/releases
  28. fastJson : 1.2.67 -> 1.2.69 版本
  29. xstream: 1.4.10 -> 1.4.11 版本
  30. </description>
  31. <name>demo-framework</name>
  32. <modelVersion>4.0.0</modelVersion>
  33. <groupId>com.demo.framework</groupId>
  34. <artifactId>demo.framework</artifactId>
  35. <version>1.0-SNAPSHOT</version>
  36. <!--在父级项目中的 pom.xml 文件使用的 packaging 配置一定为 pom。-->
  37. <!--父级的 pom 文件只作项目的子模块的整合-->
  38. <!--在 maven install 时不会生成 jar/war 压缩包-->
  39. <packaging>pom</packaging>
  40. <modules>
  41. <module>demo-eureka</module>
  42. <module>demo-server</module>
  43. <module>demo-common</module>
  44. <module>demo-contract</module>
  45. <module>demo-web</module>
  46. </modules>
  47. <!--基础配置
  48. 只是声明依赖,并不实现引入,因此子项目需要显示声明需要用的依赖。
  49. 如果不在子项目中声明依赖,是不会从父项目中继承下来的;
  50. 只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;
  51. 另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本
  52. -->
  53. <properties>
  54. <java.version>1.8</java.version>
  55. <resource.delimiter>@</resource.delimiter>
  56. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  57. <project.repofastjsonrting.outputEncoding>UTF-8</project.repofastjsonrting.outputEncoding>
  58. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  59. <maven.compiler.source>${java.version}</maven.compiler.source>
  60. <maven.compiler.target>${java.version}</maven.compiler.target>
  61. <maven.compiler.compilerVersion>${java.version}</maven.compiler.compilerVersion>
  62. <spring.boot.version>2.1.9.RELEASE</spring.boot.version>
  63. <spring.cloud.version>Greenwich.RELEASE</spring.cloud.version>
  64. <mybatis-plus-spring-boot-starter.version>3.1.0</mybatis-plus-spring-boot-starter.version>
  65. <mybatisplus.version>3.1.0</mybatisplus.version>
  66. <fastjson.version>1.2.69</fastjson.version>
  67. <swagger.version>2.7.0</swagger.version>
  68. <swagger-ui.version>2.7.0</swagger-ui.version>
  69. <swagger-bootstrap-ui.version>1.9.2</swagger-bootstrap-ui.version>
  70. <commons-codec.version>1.10</commons-codec.version>
  71. <commons-lang3.version>3.6</commons-lang3.version>
  72. <commons-io.version>2.5</commons-io.version>
  73. <commons-text.version>1.7</commons-text.version>
  74. <commons-httpclient.version>3.1</commons-httpclient.version>
  75. <HikariCP.version>3.3.1</HikariCP.version>
  76. <velocity.version>1.7</velocity.version>
  77. <jjwt.version>0.8.0</jjwt.version>
  78. <jjwt.version2>3.4.1</jjwt.version2>
  79. <hutool.version>4.5.1</hutool.version>
  80. <lombok.version>1.18.8</lombok.version>
  81. <gson.version>2.8.5</gson.version>
  82. <guava.version>23.0</guava.version>
  83. <security-oauth2.version>2.3.6.RELEASE</security-oauth2.version>
  84. <p6spy.version>3.8.5</p6spy.version>
  85. <druid.version>1.1.20</druid.version>
  86. <druid.starter.version>1.1.20</druid.starter.version>
  87. <feign-okhttp.version>10.5.1</feign-okhttp.version>
  88. <spring.boot.admin.server.version>2.1.6</spring.boot.admin.server.version>
  89. <dec.version>0.1.2</dec.version>
  90. <spring.version>5.1.18.RELEASE</spring.version>
  91. <spring-framework.version>${spring.version}</spring-framework.version>
  92. <xstream.version>1.4.11</xstream.version>
  93. </properties>
  94. <!--Spring Cloud 版本序列配置-->
  95. <dependencyManagement>
  96. <dependencies>
  97. <!-- Override springframework release train provided by Spring Boot -->
  98. <!--https://www.cnblogs.com/zhangjianbin/p/10076427.html-->
  99. <dependency>
  100. <groupId>org.springframework</groupId>
  101. <artifactId>spring-core</artifactId>
  102. <version>${spring-framework.version}</version>
  103. <scope>import</scope>
  104. <type>pom</type>
  105. </dependency>
  106. <dependency>
  107. <groupId>org.springframework</groupId>
  108. <artifactId>spring-framework-bom</artifactId>
  109. <version>${spring-framework.version}</version>
  110. <type>pom</type>
  111. <scope>import</scope>
  112. </dependency>
  113. <dependency>
  114. <groupId>org.springframework.boot</groupId>
  115. <artifactId>spring-boot-dependencies</artifactId>
  116. <version>${spring.boot.version}</version>
  117. <type>pom</type>
  118. <scope>import</scope>
  119. </dependency>
  120. <dependency>
  121. <groupId>com.thoughtworks.xstream</groupId>
  122. <artifactId>xstream</artifactId>
  123. <version>${xstream.version}</version>
  124. <scope>import</scope>
  125. <type>pom</type>
  126. </dependency>
  127. <dependency>
  128. <groupId>org.springframework.cloud</groupId>
  129. <artifactId>spring-cloud-dependencies</artifactId>
  130. <version>${spring.cloud.version}</version>
  131. <type>pom</type>
  132. <scope>import</scope>
  133. <exclusions>
  134. <exclusion>
  135. <groupId>redis.clients</groupId>
  136. <artifactId>jedis</artifactId>
  137. </exclusion>
  138. </exclusions>
  139. </dependency>
  140. <!-- 用于日志切面中,以 json 格式打印出入参(本来使用阿里的 FASTJSON, 但是对于文件上传的接口,打印参数会报错,换为 Gson) -->
  141. <dependency>
  142. <groupId>com.google.code.gson</groupId>
  143. <artifactId>gson</artifactId>
  144. <version>${gson.version}</version>
  145. </dependency>
  146. <!--lombok start-->
  147. <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
  148. <dependency>
  149. <groupId>org.projectlombok</groupId>
  150. <artifactId>lombok</artifactId>
  151. <version>${lombok.version}</version>
  152. </dependency>
  153. <!--lombok end-->
  154. <!--fastJson start-->
  155. <dependency>
  156. <groupId>com.alibaba</groupId>
  157. <artifactId>fastjson</artifactId>
  158. <version>${fastjson.version}</version>
  159. </dependency>
  160. <!--fastJson end-->
  161. <dependency>
  162. <groupId>com.alibaba</groupId>
  163. <artifactId>druid-spring-boot-starter</artifactId>
  164. <version>${druid.starter.version}</version>
  165. </dependency>
  166. <!--swagger start-->
  167. <dependency>
  168. <groupId>io.springfox</groupId>
  169. <artifactId>springfox-swagger2</artifactId>
  170. <version>${swagger.version}</version>
  171. </dependency>
  172. <dependency>
  173. <groupId>io.springfox</groupId>
  174. <artifactId>springfox-swagger-ui</artifactId>
  175. <version>${swagger-ui.version}</version>
  176. </dependency>
  177. <dependency>
  178. <groupId>com.github.xiaoymin</groupId>
  179. <artifactId>swagger-bootstrap-ui</artifactId>
  180. <version>${swagger-bootstrap-ui.version}</version>
  181. </dependency>
  182. <!--swagger end-->
  183. <dependency>
  184. <groupId>com.google.guava</groupId>
  185. <artifactId>guava</artifactId>
  186. <version>${guava.version}</version>
  187. </dependency>
  188. <!--jwt start-->
  189. <dependency>
  190. <groupId>io.jsonwebtoken</groupId>
  191. <artifactId>jjwt</artifactId>
  192. <version>${jjwt.version}</version>
  193. </dependency>
  194. <!--jwt end-->
  195. <dependency>
  196. <groupId>com.auth0</groupId>
  197. <artifactId>java-jwt</artifactId>
  198. <version>${jjwt.version2}</version>
  199. </dependency>
  200. <dependency>
  201. <groupId>commons-io</groupId>
  202. <artifactId>commons-io</artifactId>
  203. <version>${commons-io.version}</version>
  204. </dependency>
  205. <dependency>
  206. <groupId>cn.hutool</groupId>
  207. <artifactId>hutool-all</artifactId>
  208. <version>${hutool.version}</version>
  209. </dependency>
  210. <dependency>
  211. <groupId>org.apache.commons</groupId>
  212. <artifactId>commons-text</artifactId>
  213. <version>${commons-text.version}</version>
  214. </dependency>
  215. <dependency>
  216. <groupId>org.springframework.security.oauth</groupId>
  217. <artifactId>spring-security-oauth2</artifactId>
  218. <version>${security-oauth2.version}</version>
  219. </dependency>
  220. <dependency>
  221. <groupId>com.baomidou</groupId>
  222. <artifactId>mybatis-plus-boot-starter</artifactId>
  223. <version>${mybatis-plus-spring-boot-starter.version}</version>
  224. </dependency>
  225. <dependency>
  226. <groupId>com.baomidou</groupId>
  227. <artifactId>mybatis-plus</artifactId>
  228. <version>${mybatisplus.version}</version>
  229. </dependency>
  230. <dependency>
  231. <groupId>io.github.openfeign</groupId>
  232. <artifactId>feign-okhttp</artifactId>
  233. <version>${feign-okhttp.version}</version>
  234. </dependency>
  235. <dependency>
  236. <groupId>de.codecentric</groupId>
  237. <artifactId>spring-boot-admin-starter-server</artifactId>
  238. <version>${spring.boot.admin.server.version}</version>
  239. </dependency>
  240. <!-- https://mvnrepository.com/artifact/org.brotli/dec -->
  241. <dependency>
  242. <groupId>org.brotli</groupId>
  243. <artifactId>dec</artifactId>
  244. <version>${dec.version}</version>
  245. </dependency>
  246. </dependencies>
  247. </dependencyManagement>
  248. <dependencies>
  249. <!--Spring Boot 执行器组件-->
  250. <dependency>
  251. <groupId>org.springframework.boot</groupId>
  252. <artifactId>spring-boot-starter-actuator</artifactId>
  253. </dependency>
  254. <!--Spring Cloud 基础-->
  255. <dependency>
  256. <groupId>org.springframework.cloud</groupId>
  257. <artifactId>spring-cloud-starter</artifactId>
  258. </dependency>
  259. <!--Spring Cloud 服务注册组件-->
  260. <dependency>
  261. <groupId>org.springframework.cloud</groupId>
  262. <!--此处的依赖是SpringBoot2.0以后专用的,如果您使用的SpringBoot版本低于2.0请使用spring-cloud-starter-eureka-server-->
  263. <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
  264. </dependency>
  265. <!--Spring Boot Web组件-->
  266. <dependency>
  267. <groupId>org.springframework.boot</groupId>
  268. <artifactId>spring-boot-starter-web</artifactId>
  269. </dependency>
  270. <!-- 参数校验信息 -->
  271. <dependency>
  272. <groupId>org.springframework.boot</groupId>
  273. <artifactId>spring-boot-starter-validation</artifactId>
  274. <version>2.1.9.RELEASE</version>
  275. </dependency>
  276. <!-- spring aop start -->
  277. <dependency>
  278. <groupId>org.springframework.boot</groupId>
  279. <artifactId>spring-boot-starter-aop</artifactId>
  280. </dependency>
  281. <!-- spring aop end -->
  282. <!--Spring Boot 测试组件-->
  283. <dependency>
  284. <groupId>org.springframework.boot</groupId>
  285. <artifactId>spring-boot-starter-test</artifactId>
  286. <scope>test</scope>
  287. </dependency>
  288. <dependency>
  289. <groupId>org.json</groupId>
  290. <artifactId>json</artifactId>
  291. <version>20200518</version>
  292. </dependency>
  293. </dependencies>
  294. </project>

(2)再次打包

Maven-demo-server-Lifecyle-package

  1. [INFO] ------------------------------------------------------------------------
  2. [INFO] BUILD SUCCESS
  3. [INFO] ------------------------------------------------------------------------
  4. [INFO] Total time: 10.326 s
  5. [INFO] Finished at: 2021-03-21T20:08:03+08:00
  6. [INFO] ------------------------------------------------------------------------
  7. 进程已结束,退出代码 0

找不到插件 ‘org.springframework.boot:spring-boot-maven-plugin:’

解决办法,指定 Maven 版本号

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-maven-plugin</artifactId>
  6. <version>2.2.6.RELEASE</version>
  7. <configuration>
  8. <fork>true</fork>
  9. <addResources>true</addResources>
  10. </configuration>
  11. </plugin>
  12. </plugins>
  13. </build>

spring-boot-maven-plugin:unknown的完美解决方法

“插件的某个版本” <version>xxx</version> 从插件所在的文件路径里寻找
“插件所在路径”=maven仓库路径+<groupId>+<artifactId>
找到很多版本后,一个一个去试。下图是我的路径举例。

  1. D:\Program Files\Maven\Repository\org\springframework\boot\spring-boot-maven-plugin