Какой этап я использую для своей задачи? - PullRequest
0 голосов
/ 06 июля 2011

Я использую Maven 3.0.3.Я хочу запустить задачу для копирования специфических свойств среды перед тем, как упаковать мой WAR-файл.Ниже моя задача.

                    <plugin>
                            <artifactId>maven-antrun-plugin</artifactId>
                            <executions>
                                    <execution>
                                            <phase>prepare-package</phase>
                                            <goals>
                                                    <goal>run</goal>
                                            </goals>
                                            <configuration>
                                                    <tasks>
                                                            <delete file="${project.build.outputDirectory}/environment.properties"/>
                                                            <copy file="src/main/resources/${env}_environment.properties"
                                                                            tofile="${project.build.outputDirectory}/environment.properties" />
                                                            <delete file="${project.build.outputDirectory}/${env}_hibernate.cfg.xml"/>
                                                            <copy file="src/main/resources/${env}_hibernate.cfg.xml"
                                                                            tofile="${project.build.outputDirectory}/hibernate.cfg.xml" />
                                                            <echo message="Copied ${env}_hibernate.cfg.xml properties. " />
                                                    </tasks>
                                            </configuration>
                                    </execution>
                            </executions>
                    </plugin>

Однако, когда я запускаю мое приложение, вызывая цель из моего профиля Tomcat, запустив «mvn -P tomcat tomcat: run», вышеуказанная задача не запускается,Есть идеи, как я могу это исправить?Профиль Tomcat, который я включил, ниже.- Дэйв

            <profile>
                    <id>tomcat</id>
                    <activation>
                            <property>
                                    <name>env</name>
                                    <value>dev</value>
                            </property>
                    </activation>
                    <build>
                            <plugins>
                                    <plugin>
                                            <groupId>org.codehaus.mojo</groupId>
                                            <artifactId>tomcat-maven-plugin</artifactId>
                                            <version>1.1</version>
                                            <configuration>
                                                    <charset>UTF-8</charset>
                                                    <path>/leadsmonitor</path>
                                                    <server>nnadbmon-tomcat</server>
                                                    <update>true</update>
                                                    <url>http://nnadbmon.mydomain.com:8080/manager</url>
                                                    <warFile>target/leadsmonitor.war</warFile>
                                                    <systemProperties>
                                                            <JAVA_OPTS>-Xms256m -Xmx512m -XX:MaxPermSize=256m -XX:NewRatio=6 -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -verbose:gc"</JAVA_OPTS>
                                                    </systemProperties>
                                            </configuration>
                                    </plugin>
                            </plugins>
                    </build>
            </profile>

Ответы [ 3 ]

0 голосов
/ 07 июля 2011

Из документации tomcat: run ,

tomcat:run Вызывает выполнение фазы жизненного цикла compile до выполнения самого себя.prepare-package фаза наступает позже - до package

Возможно, вам стоит попробовать tomcat: run-war .

tomcat:run-war Вызывает выполнение фазы жизненного цикла пакета перед выполнением самого себя.

0 голосов
/ 07 июля 2011

Вы должны присоединить его к фазе compile.Это будет выполнено после компиляция завершена.

0 голосов
/ 06 июля 2011

Плагин maven-antrun-plugin запускается в prepare-package, поэтому вы можете добавить его к своей команде:

mvn -P tomcat tomcat:run prepare-package
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...