Как я могу использовать плагин Maven Tomcat для двух разных сред? - PullRequest
3 голосов
/ 15 июня 2011

В моем проекте Tomcat у меня есть папка конфигурации, в пути src/main/tomcatconf.

Теперь я хочу развернуть на 2 разных серверах. Сервер разработки и производственный сервер.

Я запускаю свой сервер разработки с помощью mvn tomcat: run. Запуск моего сервера на лету, и все работает отлично.

Теперь я хочу добавить рабочий сервер с другой папкой конфигурации (например, src/main/production/tomcatconf) и развернуть .war на экземпляре Tomcat в моей файловой системе (например, /opt/tomcat6). с помощью команды mvn tomcat: deploy.

Как я могу это сделать?

1 Ответ

1 голос
/ 16 июня 2011

Наконец, я использовал плагин ресурсов maven с настройкой профиля.

Я сделал две дополнительные папки:

SRC / основное / производство

SRC / главная / разработка,

затем я перемещаю свой Meta-inf / persistence.xml в эти папки.

затем я добавляю эту часть конфигурации в мой pom.xml:

<profiles>
    <profile>
        <id>development</id>
        <activation>
            <activeByDefault>true</activeByDefault>
            <property>
                <name>environment.type</name>
                <value>dev</value>
            </property>
        </activation>
        <build>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                </resource>
                <resource>
                    <directory>src/main/development</directory>
                </resource>
            </resources>
        </build>
    </profile>
    <profile>
        <id>production</id>
        <activation>
            <property>
                <name>environment.type</name>
                <value>prod</value>
            </property>
        </activation>
        <build>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                </resource>
                <resource>
                    <directory>src/main/production</directory>
                </resource>
            </resources>
        </build>
    </profile>

</profiles>

таким образом, у меня есть общая папка ресурса и дополнительная папка в зависимости от типа среды.

Теперь, когда я бегу mvn tomcat:run -Denvironment.type=dev я использую свою среду разработки и когда я бегу mvn tomcat:run -Denvironment.type=prod Я использую свою производственную среду.

Единственным недостатком этого подхода является то, что каждый раз, когда я хочу изменить тип среды, я должен работать mvn clean, чтобы построить правильный файл конфигурации.

Пожалуйста, дайте мне знать, если вы думаете, что я ошибаюсь или вы хотите предложить другое решение

С уважением Антонио Муселла

...