AWS CodeCommit执行mvn clean install返回exit status 1失败求助
问题根因
从你提供的构建日志可以直接定位到错误根源:
[ERROR] Failed to execute goal org.codehaus.mojo:jaxb2-maven-plugin:2.5.0:xjc (xjc) on project spring-boot: : MojoExecutionException: NoSchemasException
日志中明确提示插件在查找路径C:/Users/Maks/Desktop/PJGreen Stuff/spring-boot/src/main/resources/countries.xsd下的XSD文件失败,这个是你本地Windows环境的绝对路径,AWS CodeBuild运行环境为Linux系统,不存在该路径;且该XSD文件大概率没有被提交到CodeCommit仓库的对应路径下,导致jaxb2插件无法找到schema文件,构建直接抛出异常退出。
修复方案
你可以选择以下任意一种方案修复:
- 方案1:保留xjc代码生成逻辑的修复步骤
- 把本地的
countries.xsd文件放到项目的src/main/resources/xsd目录下,将该文件提交到CodeCommit仓库 - 修改pom.xml中jaxb2-maven-plugin的配置,使用相对路径指定XSD位置,避免硬编码本地绝对路径:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jaxb2-maven-plugin</artifactId> <version>2.5.0</version> <executions> <execution> <id>xjc</id> <goals> <goal>xjc</goal> </goals> </execution> </executions> <configuration> <sources> <source>src/main/resources/xsd/countries.xsd</source> </sources> </configuration> </plugin> - 把本地的
- 方案2:临时跳过xjc生成步骤
如果当前构建不需要执行XSD到Java类的生成逻辑,可以直接修改buildspec.yml中的构建命令,跳过jaxb2插件执行:
version: 0.2 phases: build: commands: - mvn clean install -Djaxb2.skip=true
内容的提问来源于stack exchange,提问作者M. Winnicki
相关产品推荐
相关产品推荐

