当前位置: 首页 > 知识库问答 >
问题:

Maven:找不到前缀“dockerfile”的插件

马德厚
2023-03-14

遵循一些maven docker示例,产生了以下代码,运行mvn包dockerfile:build,但出现以下错误:[错误]在当前项目和插件组[org.apache.maven.plugins,org.codehaus.mojo]中找不到前缀为“dockerfile”的插件,这些插件组可从存储库获得。。。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompnay.learning</groupId>
    <artifactId>my-app-base-pom</artifactId>
    <version>0.0.1</version>


    <properties>
        <dockerfile.version>0.0.1</dockerfile.version>
        <docker.image.prefix>AdminService</docker.image.prefix>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>0.0.1</version>
                <executions>
                    <execution>
                        <id>default</id>
                        <goals>
                            <goal>build</goal>
                        </goals>
                        <configuration>
                            <repository>docker.io/kkapelon/docker-maven-comparsion</repository>
                            <tag>projectVersion</tag>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

请问我该从这里去哪里?

共有1个答案

曾嘉言
2023-03-14

您很可能会因为插件(版本为0.0.1)丢失而出错。检查是否有任何maven警告

[WARNING] The POM for com.spotify:dockerfile-maven-plugin:jar:0.0.1 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for ...

由于无法检索插件描述符,maven不知道有一个dockerfile前缀配置与插件相关联,因此会出现错误"No plugin for prefix"。此配置存储在maven存储库的插件路径中

要使用的常规工件ID格式有:

  • maven-${prefix}-plugin-用于由Apache Maven团队自己维护的官方插件(您不得为您的插件使用此命名模式,有关更多信息,请参阅本说明)
  • ${prefix}-maven-plugin用于其他来源的插件。

如果你的插件的artifactId符合这种模式,Maven会自动将你的插件映射到存储库中插件的groupId路径中存储的元数据中的正确前缀。

更多关于插件前缀解析的信息

例如,对于1.4.0版,描述符(即pom文件)有一个配置部分:

<configuration>
    <goalPrefix>dockerfile</goalPrefix>
    <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound> 
</configuration> 

将版本更改为更新的版本(

        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>dockerfile-maven-plugin</artifactId>
            <version>1.4.0</version>
            ...
        </plugin>

与以下内容一起运行:

mvn package dockerfile:build
 类似资料:
  • 我在尝试使用javafx和spring调试项目时遇到问题 我的pom. xml 我的主要: 我在尝试使用maven编译时遇到以下错误: [信息]正在扫描项目。。。[警告]组织的POM。日食m2e:生命周期映射:jar:1.0。缺少0,没有可用的依赖项信息[警告]无法检索组织的插件描述符。日食m2e:生命周期映射:1.0。0:插件组织。日食m2e:生命周期映射:1.0。无法解析0或其依赖项之一:找不

  • 我正在运行以下命令以运行我的项目 它给了我以下错误: [错误]在当前项目和插件组[org.apache.maven.plugins,org.codehaus.mojo]中找不到前缀“get”的插件[本地(C:\用户\name. m2\repository),nexus(https://nexus.companyname.com/nexus/content/groups/public/)]-

  • 我试图使用以下命令将文件部署到远程存储库: 我收到了这个错误消息: 在当前项目和插件组[org.apache.maven.plugins,org.codehaus.mojo]中找不到前缀“–Durl=http”的插件,这些插件可从中央存储库[local(/Users/ssurendran/.m2/repository]获得(https://repo.maven.apache.org/maven2)

  • 问题内容: 我正在尝试构建一个使用Spring Tools Suite构建的springboot项目。执行时出现以下错误 这是我的pom.xml插件 我尝试了上面的jhipster插件,但错误没有变化。 问题答案: 如果您使用Spring Boot进行应用,则忘记添加 可能会导致此问题,以及缺少这些行

  • 我需要使用PITest进行突变测试,但我很难尝试通过Maven安装它,当我尝试运行PIT以执行突变和测试用例时,我在cmd中收到此错误: “在当前项目和插件组中未找到前缀“org.pitest”的插件” 有人能帮我解决这个问题吗? 我的代码: 我的测试: pom.xml: 这是出现在my cmd上的错误:

  • [错误]在当前项目和插件组[org.apache.maven.plugins,org.codehaus.mojo]中没有找到前缀'fortify'的插件[本地(C:\用户\. m2\存储库),中央(https://repo.maven.apache.org/maven2)]