簡體   English   中英

如何在此pom.xml文件中執行3次執行?

[英]How do I get the 3 executions in this pom.xml file to execute?

我完全不知道如何在執行mvn clean install全新mvn clean install時如何執行這3個執行。 我知道它們在PluginManagement部分中,我覺得那是問題的一部分。 謝謝

<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>jhu.rahLeague</groupId>
        <artifactId>rahLeague</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>

    <groupId>jhu.rahLeagueImpl</groupId>
    <artifactId>rahLeagueImpl</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>rahLeagueImpl</name>


    <profiles>
        <profile>
            <id>testing</id>
            <activation>
                <property>
                    <name>!skipTests</name>
                </property>
            </activation>


            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>hibernate3-maven-plugin</artifactId>
                            <version>${hibernate3-maven-plugin.version}</version>
                            <extensions>true</extensions>
                            <dependencies>
                                <dependency>
                                    <groupId>org.hibernate</groupId>
                                    <artifactId>hibernate-entitymanager</artifactId>
                                    <version>${hibernate3.version}</version>
                                </dependency>
                            </dependencies>
                            <executions>
                                <execution>
                                    <id>drop-db-before-test</id>
                                    <phase>process-test-classes</phase>
                                    <goals>
                                        <goal>execute</goal>
                                    </goals>
                                    <configuration>
                                        <autocommit>true</autocommit>
                                        <fileset>
                                            <basedir>${basedir}/src</basedir>
                                            <includes>
                                                <include>main/resources/ddl/*drop*.ddl</include>
                                            </includes>
                                        </fileset>
                                        <onError>continue</onError>
                                    </configuration>
                                </execution>
                                <execution>
                                    <id>create-db-before-test</id>
                                    <phase>process-test-classes</phase>
                                    <goals>
                                        <goal>execute</goal>
                                    </goals>
                                    <configuration>
                                        <autocommit>true</autocommit>
                                        <fileset>
                                            <basedir>${basedir}/src</basedir>
                                            <includes>
                                                <include>main/resources/ddl/*create*.ddl</include>
                                            </includes>
                                        </fileset>
                                        <print>true</print>
                                    </configuration>
                                </execution>
                                <execution>
                                    <id>populate-db-before-test</id>
                                    <phase>process-test-classes</phase>
                                    <goals>
                                        <goal>execute</goal>
                                    </goals>
                                    <configuration>
                                        <autocommit>true</autocommit>
                                        <fileset>
                                            <basedir>${basedir}/src</basedir>
                                            <includes>
                                                <include>test/resources/ddl/**/*populate*.ddl</include>
                                            </includes>
                                        </fileset>
                                    </configuration>
                                </execution>
                                <!-- <execution>
                                    <id>drop-db-after-test</id>
                                    <phase>test</phase>
                                    <goals>
                                        <goal>execute</goal>
                                    </goals>
                                    <configuration>
                                        <autocommit>true</autocommit>
                                        <fileset>
                                            <basedir>${basedir}/src</basedir>
                                            <includes>
                                                <include>main/resources/ddl/**/*drop*.ddl</include>
                                            </includes>
                                        </fileset>
                                    </configuration>
                                </execution> -->
                            </executions>
                        </plugin>
                        <plugin>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>sql-maven-plugin</artifactId>
                            <version>${sql-maven-plugin.version}</version>

                            <dependencies>
                                <dependency>
                                    <groupId>com.h2database</groupId>
                                    <artifactId>h2</artifactId>
                                    <version>${h2db.version}</version>
                                </dependency>
                            </dependencies>

                            <configuration>
                                <username>${jdbc.user}</username>
                                <password>${jdbc.password}</password>
                                <driver>${jdbc.driver}</driver>
                                <url>${jdbc.url}</url>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>

                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <version>3.1</version>
                        <configuration>
                            <source>1.7</source>
                            <target>1.7</target>
                        </configuration>
                    </plugin>
                </plugins>
            </build>

        </profile>
    </profiles>


    <dependencies>
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>2.3</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.3</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.2.6.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.0-api</artifactId>
            <version>1.0.1.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.2.6.Final</version>
        </dependency>
        <!-- <dependency> <groupId>org.hibernate.common</groupId> <artifactId>hibernate-commons-annotations</artifactId> 
            <version>4.0.4.Final</version> </dependency> -->
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.3.173</version>
        </dependency>
        <!-- <dependency>
            <groupId>org.apache.cocoon</groupId>
            <artifactId>cocoon-databases-hsqldb-client</artifactId>
            <version>1.0.0</version>
        </dependency> -->


    </dependencies>
</project>

您還需要在配置文件的plugins部分中引用該插件(當前,您僅在其中引用了maven-compiler-plugin ),而不僅僅是在pluginManagement部分中。

因此,您的pom將是:

...
<profiles>
    <profile>
        <id>testing</id>
        <activation>
            <property>
                <name>!skipTests</name>
            </property>
        </activation>

        <build>
            <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>hibernate3-maven-plugin</artifactId>
                        <!-- excluded the configuration to keep this as short as possible -->
                        ...
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>sql-maven-plugin</artifactId>
                        <!-- etc -->
                    </plugin>
                </plugins>
            </pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    ...
                </plugin>
                <!-- add hibernate3-maven-plugin here. Don't need to   -->
                <!-- define a version or configuration as that has     -->
                <!-- already been done in the pluginManagement section -->
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>hibernate3-maven-plugin</artifactId>
                </plugin>
                <!-- am presuming you would also want the sql-maven-plugin to run -->
                <!-- so you would need to add it here as well                     -->
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>sql-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

<dependencies>
    ...

POM(和配置文件)的標准plugins部分定義了在構建過程中應執行哪些插件(以及如何基於其配置)。

pluginManagement部分還以幾乎相同的方式包含plugin元素,除了不為該特定項目構建配置plugin信息外,它旨在配置從該項目繼承的項目構建(也可用於配置當前pom )。 但是,這僅配置plugin屬於內實際引用小號plugins的兒童元素(或當前POM -這是在你的情況下丟失)。 子級有權覆蓋pluginManagement定義。

因此,通常,您將使用pluginManagement部分來定義插件的標准配置,然后通過在pom的標准plugins部分中引用插件來在子poms中激活它(並根據需要覆蓋任何配置)。

可以在以下位置找到有關POM的Maven文檔: http : //maven.apache.org/pom.html (可以比我解釋得更好)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM