Как передать профиль в весенний загрузочный проект Maven - PullRequest
0 голосов
/ 07 мая 2019

Я новичок, когда дело доходит до maven и весенней загрузки. Мне нужно запустить весенний загрузочный проект на основе профиля. По умолчанию область следующей зависимости test, которая выдает ошибку во время выполнения, если я хочу использовать h2. Поскольку мне не разрешено изменять область, я подумал о добавлении двух профилей в pom.xml - один по умолчанию будет активным по умолчанию и один для зависимости h2 без области как тест.

Вот что я добавил к pom.xml -

<profiles>
        <profile>
            <id>default</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>com.h2database</groupId>
                    <artifactId>h2</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>automation</id>
            <properties>
                <env>automation</env>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>com.h2database</groupId>
                    <artifactId>h2</artifactId>
                </dependency>
            </dependencies>
        </profile>
    </profiles>

Теперь я попытался запустить свой проект, используя следующую команду -

mvn -D "spring-boot.run.profiles=automation" -DskipTests=true spring-boot:run

Но я все еще вижу ту же ошибку области видимости зависимостей h2, что и раньше.

Caused by: java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver

т.е. Я не могу изменить область зависимости таким образом. Что мне здесь не хватает?

1 Ответ

1 голос
/ 07 мая 2019

Вы определяете профиль Maven, но активируете профиль Spring. Используйте следующий синтаксис:

mvn groupId:artifactId:goal -P profile-1,profile-2

https://maven.apache.org/guides/introduction/introduction-to-profiles.html

Обновление

Я протестировал конфигурацию, которую вы опубликовали, и spring-boot:run не удастся для меня, если активен только профиль default с следующим исключением:

java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver

Вы можете проверить свои зависимости с помощью

mvn dependency:tree

Вывод вышеуказанной команды зависит от переданных профилей maven.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...