模块 pom.xml 配置如下 :
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<!-- 如果没有该项配置,devtools不会起作用,即应用不会restart -->
<!--
<configuration>
<fork>true</fork>
</configuration>
-->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
以上报错说明:
1)configuration/fork: 原先有配置,后面可以是去掉该配置,但他的作用是与devtools有关,如果没设置,就不能动态编译 (可能不是发布后 java -jar 运行报错的原因);
2) resources/resource/includes/include 的路径;
原先为 **/*.xml ,**/*.yml 等有指定后缀的,后改为 **/* ,因为工程 resources 还有 static/**/*.html 或js 等的静态文件;
3) 在依赖的jar 有包括 /resources/META-INF/spring.factoires 这样的文件,可能受 第2点配置指定文件后缀没找包到 maven install 的jar 里,才报错; (可能是报错的原因)
———————————
11-07,在本地安装 cygwin工具 (将第 2 点改后),执行正常,但无法访问,提示找不到 thymeleaf 的index模板,就是 第2点的问题;没有报SimpleMQServiceImpl的NoSuchBean的问题,就是没有找到自动配置的Bean,因为 这个类在依赖的 jar 里,采用 spring.factories 触发自动配置;但可能 第2点原因,导至这个spring.factories 没在运行环境里,导至没有自动配置到容器内;
———————————–
其他:
plugin/configuration/classifier=exec这会在 .jar 前加上_exec名称部分;