Как запустить веб-приложение Maven в Eclipse, когда я использую профили для заполнения файлов свойств во время сборки? - PullRequest
13 голосов
/ 21 марта 2009

Вот пример профиля в моем POM:

    <profiles>
    <profile>
        <id>QA</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <jdbc.url>jdbc:mysql://127.0.0.1:3306/SomeDB</jdbc.url>
            <jdbc.username>webapp</jdbc.username>
            <jdbc.password>somepassword</jdbc.password>
        </properties>
    </profile>
    ...

У меня в папке ресурсов есть файл свойств, например:

jdbc.url = ${jdbc.url}
jdbc.username = ${jdbc.username}
jdbc.password = ${jdbc.password}

и наконец я включаю фильтрацию в моем POM:

    <build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
    ...

Это на самом деле упрощенный пример, но вы поняли идею. В основном, когда я бегу

mvn install -P QA

Maven отфильтрует мой файл app.properties, заменит все заполнители на значения, содержащиеся в профиле, и развернет заполненный файл свойств.

Проблема со всем этим заключается в том, что мне нравится использовать механизм серверов в Eclipse, где у меня запущен Tomcat в среде IDE. В этом случае мои проекты выполняются, а Eclipse позаботится об обновлении, повторном развертывании и т. Д. Однако Maven не попадает в поле зрения при развертывании в IDE, и этот файл свойств никогда не заполняется должным образом.

Итак, как мне продолжить работу над проектом в IDE, но правильно ли заполнить этот файл свойств?

Ответы [ 2 ]

3 голосов
/ 21 марта 2009

Вы можете эффективно запустить любую команду Maven (включая команды с профилями) через плагин m2eclipse . Кроме того, m2eclipse работает с WTP (я считаю, что это вкладка Серверы). Я не уверен в этой части, но я использовал ее для развертывания веб-приложений в Tomcat в Eclipse для проекта Maven.

2 голосов
/ 22 марта 2009

Спасибо, Алекс. В итоге я установил Eclipse Integration для Apache Maven (Eclipse IAM), ранее Q для Eclipse

Этот плагин решил две проблемы: заполнение файлов свойств во время событий публикации на сервере в Eclipse и заполнение папки WEB-INF / lib. Раньше, несмотря на то, что я выполнял mvn eclipse: eclipse для удовлетворения моего пути сборки в Eclipse, он не публиковал эти зависимости на встроенных серверах правильно. Этот плагин делает это. Решив эти две проблемы, я не вижу никаких других препятствий для разработки проекта Maven в Eclipse с использованием встроенных серверов.

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