Как вы используете плагины Mojohaus maven?

Поэтому я пытаюсь следовать этому руководству.

Я обычно работаю с Gradle, поэтому я не слишком разбираюсь в плагинах maven, но там не так много Gradle, так что ... Maven это так.

Но когда IntelliJ протестовал, он не смог найти properties-maven-plugin, когда я его добавил, я погуглил и нашел этот ответ, который предложил Мне нужно было проверить настройку IntelliJ use plugin registry maven.

Я так и сделал, и IntlliJ принял плагин. Отлично, давайте добавим следующее...

Plugin 'org.codehaus.mojo:sql-maven-plugin:1.5' not found

при этом как имя, так и номер версии отображаются красным цветом.

Ну, разве это не здорово? --- ЗДЕСЬ это есть, черт возьми, используйте его , уже!

Я был бы очень признателен, если бы кто-нибудь сказал мне, что мне нужно сделать, чтобы правильно добавить плагины, потому что я не могу найти эту информацию на

Вот POM.xml на данный момент (и я также намерен добавить третий плагин, упомянутый в руководстве, как только я заставлю его работать).

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>some.where</groupId>
    <artifactId>foo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>foo</name>
    <description>Simple project to test Spring Boot and JOOQ</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jooq</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>


            <!--
            Note: to add the following plugins in IntelliJ, go into IntelliJ's Maven settings and check the
                  'use plugin registry'
                  option
            -->

            <plugin>
                <!--https://www.baeldung.com/jooq-with-spring:
                This plugin is used to read configuration data from a resource file.
                It is not required since the data may be directly added to the POM,
                but it is a good idea to manage the properties externally.
                (Here: it's reading the `application.properties` file)

                The read-project-properties goal of this plugin should be bound to an early phase
                so that the configuration data can be prepared for use by other plugins.
                In this case, it is bound to the initialize phase.

                In it, we'll define properties for database connections, including the
                    JDBC driver class,
                    database URL,
                    username,and
                    password
                -->
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>properties-maven-plugin</artifactId>
                <version>1.0.0</version>
                <executions>
                    <execution>
                        <phase>initialize</phase>
                        <goals>
                            <goal>read-project-properties</goal>
                        </goals>
                        <configuration>
                            <files>
                                <file>src/main/resources/application.properties</file>
                            </files>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!-- now WHY won't the plugin work THIS time ?! -->

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>sql-maven-plugin</artifactId>
                <version>1.5</version>
                <executions>
                    <execution>
                        <phase>initialize</phase>
                        <goals>
                            <goal>execute</goal>
                        </goals>
                        <configuration>
                            <driver>${db.driver}</driver>
                            <url>${db.url}</url>
                            <username>${db.username}</username>
                            <password>${db.password}</password>
                            <srcFiles>
                                <srcFile>src/main/resources/intro_schema.sql</srcFile>
                            </srcFiles>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>com.h2database</groupId>
                        <artifactId>h2</artifactId>
                    </dependency>
                </dependencies>
            </plugin>



        </plugins>
    </build>
</project>

(Он также не может найти версию H2 в плагине, поэтому я просто удалил <version>1.4.191</version> по сравнению с учебным кодом, поскольку есть также зависимость, вставленная SpringInitializr, в которой также не упоминается номер версии.)


person User1291    schedule 18.03.2019    source источник
comment
Вы можете попробовать выполнить mvn dependency:go-offline один раз? IntelliJ иногда не загружает все зависимости и плагины автоматически. Цель получает все, что упомянуто в вашем pom. затем перезагрузите проект (значок перезагрузки на панели maven). Это должно сделать   -  person wemu    schedule 19.03.2019
comment
Сначала я бы спросил: зачем вам свойства-maven-plugin в проекте Spring Boot? Пожалуйста, объясните ваш вариант использования? Кроме того, я бы также поставил вопрос об использовании sql-maven-plugin таким образом? Потому что у вас есть такие вещи, как flyway и т. Д., Доступные через Spring Boot?   -  person khmarbaise    schedule 21.03.2019