idea spring boot docker 多项目 maven 编译
1,重复的model
[INFO] Scanning for projects... [ERROR] [ERROR] Some problems were encountered while processing the POMs: [ERROR] 'modules.module[6]' specifies duplicate child module authService @ line 15, column 17 @ [ERROR] The build could not read 1 project -> [Help 1] [ERROR] [ERROR] The project cn.meylink:root:1.0-SNAPSHOT (E:\Documents\Projects\cn.meylink\pom.xml) has 1 error [ERROR] 'modules.module[6]' specifies duplicate child module authService @ line 15, column 17 [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
在主pom.xml文件的models节点 移除 指定位置 重复的 model 我这里提示的 pom.xml 15行 authService重复
2,maven-plugin-plugin版本过低,升级
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-plugin-plugin:3.2:descriptor (default-descriptor) on project pojo: Execution default-descriptor of goal org.apache.maven.plugins:maven-plugin-plugin:3.2:descriptor failed: 10024 -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn <goals> -rf :pojo
找到pom文件(可是是根pom也可是当前model的pom,我这里提到的事pojo这个model,为了一劳永逸我在root pom上统一处理),build->plugins->plugin加入红色部分
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.5</version>
</plugin>
3,No mojo definitions were found for plugin
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-plugin-plugin:3.5:descriptor (default-descriptor) on project pojo: Error extracting plugin descriptor: 'No mojo definitions were found for plugin: cn.meylink.mall:pojo.' -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn <goals> -rf :pojo
这个问题百度很久解决不了,只能先跳过,找到pom文件加入红色部分,build->plugins->plugin加入红色部分
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-plugin-plugin</artifactId> <version>3.5</version> <configuration> <!-- see http://jira.codehaus.org/browse/MNG-5346 --> <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound> </configuration> </plugin>
5,model编译类型错误
[ERROR] Failed to execute goal on project commonWeb: Could not resolve dependencies for project commonWeb:maven-plugin:1.0-SNAPSHOT: Could not find artifact commonBase:jar:1.0-SNAPSHOT -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn <goals> -rf :commonWeb
继续往上查看输入日志:
[INFO] Building commonBase 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-install-plugin:2.5.2:install (default-install) @ commonBase --- [INFO] Installing E:\Documents\Projects\cn.meylink\commonBase\pom.xml to C:\Users\Administrator\.m2\repository\cn\meylink\commonBase\1.0-SNAPSHOT\commonBase-1.0-SNAPSHOT.pom [INFO]
被编译为:commonBase-1.0-SNAPSHOT.pom,而引用中需要 commonBase-1.0-SNAPSHOT.jar,修改被引用model生成类型为 jar 即:
<packaging>maven-plugin</packaging>
6,注释错误
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-plugin-plugin:3.5:descriptor (default-descriptor) on project repository: Execution default-descriptor of goal org.apache.maven.plugins:maven-plugin-plugin:3.5:descriptor failed: syntax error @[11,126] in file:/E:/Documents/Projects/cn.meylink/mall/repository/src/main/java/cn/meylink/mall/repository/CategoryInfoRepository.java -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn <goals> -rf :repository
很奇怪,去看看 [11,126] in file:/E:/Documents/Projects/cn.meylink/mall/repository/src/main/java/cn/meylink/mall/repository/CategoryInfoRepository.java 文件内容如下:
7,全部 install 完成
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] root .................................... SUCCESS [ 0.296 s]
[INFO] mall .................................... SUCCESS [ 0.021 s]
[INFO] mall.pojo ............................... SUCCESS [ 5.967 s]
[INFO] mall.mapper ............................. SUCCESS [ 2.480 s]
[INFO] commonBase .............................. SUCCESS [ 0.023 s]
[INFO] commonWeb Maven Mojo ............................... SUCCESS [ 2.453 s]
[INFO] mall.service ............................ SUCCESS [ 3.515 s]
[INFO] mall .................................... SUCCESS [ 19.318 s]
[INFO] mall.model .............................. SUCCESS [ 1.727 s]
[INFO] mall.webManage .......................... SUCCESS [ 9.473 s]
[INFO] mall.webAdmin ........................... SUCCESS [ 9.042 s]
[INFO] authService ............................. SUCCESS [ 2.897 s]
[INFO] webSocket ............................... SUCCESS [ 11.171 s]
[INFO] yuec2c .................................. SUCCESS [ 0.020 s]
[INFO] pojo Maven Mojo .................................... SUCCESS [ 2.042 s]
[INFO] yuec2c.repository ....................... SUCCESS [ 1.971 s]
[INFO] yuec2c.service .......................... SUCCESS [ 2.743 s]
[INFO] yuec2c.webApi ........................... SUCCESS [ 17.222 s]
[INFO] fileService ........................................ SUCCESS [ 12.551 s]
[INFO] worker ............................................. SUCCESS [ 3.406 s]
[INFO] commonQueue Maven Mojo ............................. SUCCESS [ 1.094 s]
[INFO] payment ............................................ SUCCESS [ 11.515 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:02 min
[INFO] Finished at: 2019-02-18T19:17:36+08:00
[INFO] Final Memory: 132M/1514M
[INFO] ------------------------------------------------------------------------
Process finished with exit code 0
8,docker build :pom.xml添加一个build->plugins->plugin内容如下:
<!-- Docker maven plugin --> <plugin> <!-- https://mvnrepository.com/artifact/com.spotify/docker-maven-plugin --> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.2.0</version> <configuration> <imageName>${docker.image.prefix}/${project.name}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.war</include> </resource> </resources> </configuration> </plugin> <!-- Docker maven plugin -->
执行 maven 命令
package docker:build
(1)Dockerfile文件不存在或路径错误
[INFO] --- docker-maven-plugin:1.2.0:build (default-cli) @ authService --- [INFO] Using authentication suppliers: [ConfigFileRegistryAuthSupplier] [INFO] No Dockerfile in dockerDirectory [INFO] Skipping docker build [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 8.569 s [INFO] Finished at: 2019-02-19T09:47:40+08:00 [INFO] Final Memory: 55M/556M [INFO] ------------------------------------------------------------------------ Process finished with exit code 0
上面没有启动docker编辑 显示没找到Dockerfile文件,检查你的Dockerfile文件路径与文件名是否正确
(2)image名称不能包含大写字母
[INFO] Building image ejiyuan/authService 二月 19, 2019 9:38:29 上午 com.spotify.docker.client.shaded.org.apache.http.impl.execchain.RetryExec execute 信息: I/O exception (java.net.SocketException) caught when processing request to {s}->https://192.168.99.100:2376: Connection reset by peer: socket write error [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 12.700 s [INFO] Finished at: 2019-02-19T09:38:29+08:00 [INFO] Final Memory: 66M/553M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal com.spotify:docker-maven-plugin:1.2.0:build (default-cli) on project authService: Exception caught: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: com.spotify.docker.client.shaded.org.apache.http.client.ClientProtocolException: Cannot retry request with a non-repeatable request entity: Connection reset by peer: socket write error -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
我这里image name 等于 “<imageName>${docker.image.prefix}/${project.name}</imageName>” 是两个变量,查看project.name,为“authService" 包含了大写字母,修改为小写即可
9,运行时错误
no main manifest attribute, in /xxxx.war
项目model中pom.xml文件的 build->plugins->plugin节点加入“spring-boot-maven-plugin”
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin>
注意 不要加载root的 pom.xml中,只能在,启动的 war项目中,否者 没有标记“@SpringBootApplication”的非启动model会报错“repackage failed: Unable to find main class -> [Help 1]”