idea spring boot docker 多项目 maven 编译

时间:2023-03-09 16:44:58
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 , column
@
[ERROR] The build could not read project -> [Help ]
[ERROR]
[ERROR] The project cn.meylink:root:1.0-SNAPSHOT (E:\Documents\Projects\cn.meylink\pom.xml) has error
[ERROR] 'modules.module[6]' specifies duplicate child module authService @ line , column
[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 ] 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:  -> [Help ]
[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 ] 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 ]
[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 ] 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 ]
[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 ] 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.: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 @[,] in file:/E:/Documents/Projects/cn.meylink/mall/repository/src/main/java/cn/meylink/mall/repository/CategoryInfoRepository.java -> [Help ]
[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 ] 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  文件内容如下:

idea spring boot docker 多项目 maven 编译

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.: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: --19T09::+:
[INFO] Final Memory: 55M/556M
[INFO] ------------------------------------------------------------------------ Process finished with exit code

上面没有启动docker编辑 显示没找到Dockerfile文件,检查你的Dockerfile文件路径与文件名是否正确

idea spring boot docker 多项目 maven 编译

(2)image名称不能包含大写字母

[INFO] Building image ejiyuan/authService
二月 , :: 上午 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:: Connection reset by peer: socket write error
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.700 s
[INFO] Finished at: --19T09::+:
[INFO] Final Memory: 66M/553M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.spotify:docker-maven-plugin:1.2.: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 ]
[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 ] 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]”