[英]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.