maven 如何修复“在当前项目和插件组中找不到前缀‘iquibase’的插件”

mctunoxg  于 2022-10-26  发布在  Maven
关注(0)|答案(4)|浏览(195)

我是新来Liquibase的。我已经在我的pom.xml中包含了maven插件和iquibase,但是当我使用mvn liquibase:update更新iquibase时,我得到了这个错误:

No plugin found for prefix 'liquibase' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo]

我如何修复此错误,以便在我键入mvn liquibase:update时它可以正常运行
下面是我的pom.xml中与Liquid base相关的一些依赖项

<dependency>
    <groupId>org.liquibase</groupId>
    <artifactId>liquibase-core</artifactId>
</dependency>

<build>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.5</version>
        <configuration>
            <useSystemClassLoader>false</useSystemClassLoader>
        </configuration>
    </plugin>
    <plugin>
        <groupId>org.liquibase</groupId>
        <artifactId>liquibase-maven-plugin</artifactId>
        <version>3.6.3</version>
        <configuration>
            <propertyFile>src/main/resources/liquibase.properties</propertyFile>
            <promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
        </configuration>
    </plugin>
</build>
hrysbysz

hrysbysz1#

我不认为问题出在Liqubase插件本身。它更多的是关于maven前缀的。
尝试执行:mvn org.liquibase:liquibase-maven-plugin:update
另外,看看这个question

fhity93d

fhity93d2#

执行mvn liquibase:update命令时,请确保您位于正确的路径中。并尝试在单独的终端(如命令提示符)中运行该命令。在我的例子中,当我遇到问题时,我正在使用IntelliJ Idea中的终端,但当我在不同的终端上尝试它时,它工作得很完美。

wlwcrazw

wlwcrazw3#

在我的例子中,问题出在路径上。我试图从错误的文件夹启动命令c:\mvn.cmd liquibase:status
c:\projects\My_current_project\mvn liquibase:status运行非常有用。c:\projects\My_current_project\是文件夹,其中pom.xml是文件夹。

atmip9wb

atmip9wb4#

在我的例子中,问题是我的pom是这样配置的,即lisibase插件只在某些配置文件下定义,这些配置文件需要在mvn liquibase:<your command here>运行之前传入。
例如,如果pom.xml有一个local配置文件,而您的iquibase插件仅在该配置文件下定义,那么您应该运行类似mvn -P local liquibase:update的代码,以便maven选择liiqubase(因为它只在该配置文件中定义)。

相关问题