+-
使用docker-maven-plugin构建docker镜像时,目标不存在。

当我使用docker-maven-plugin构建docker镜像时,失败了。

ERROR:Failed to execute goal com.spotify:docker-maven-plugin:1.0.0:build (default-cli) on project spring-boot-basic: Exception caught: basedir rootworkSpacespring-boot-basicspring-boot-basic-webtarget does not exist。

这是一些pom.xml的代码

<!-- docker plugin -->
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>1.0.0</version>
            <!-- docker config -->
            <configuration>
                <!-- image name -->
                <imageName>${project.build.finalName}</imageName>
                <!-- image tag -->
                <imageTags>
                    <imageTag>${project.version}</imageTag>
                </imageTags>
                <dockerDirectory>${project.basedir}</dockerDirectory>
                <resources>
                    <resource>
                        <targetPath>/</targetPath>
                        <directory>${project.basedir}/${jar.real.path}/target</directory>
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
            </configuration>
        </plugin>

这是我的项目结构

spring-boot-basic
Dockerfile
module----spring-boot-basic-web
          src/main--------MainApp.java 
pom.xml              

目标将建立在spring-boot-basic-web(模块)中。

但当我运行 "mvn clean package "时,它构建成功并生成目标文件夹。

然后我运行'mvn clean package docker:build',它构建docker镜像成功,但错误还是发生了。

我怎么才能解决这个错误呢?

0
投票

现在我知道为什么会出现这样的问题,因为我在父pom中配置了maven docker插件,而pom的包类型是'pom'而不是'jar',所以当我构建项目时就会出现这样的问题,所以我把maven docker配置在 "spring-boot-basic-web "模块中,然后构建成功。