Maven 3.0.3 kullanıyorum. Maven profil aktivasyonunda "activeByDefault" bayrağı hakkında kafam karıştı. İstediğim şey varsayılan bir profile sahip olmaktır, ancak birisi başka bir profil belirtirse (ör. -P başka bir profil), varsayılan profilin yapısındaki eklentilerin hiçbiri çalışmaz. çalışacağı varsayılan profilindenMaven varsayılan profilimde eklentileri nasıl çalıştırırım, ancak başka bir profil belirtilirse bu eklentilerin çalışmasını engelleyebilir miyim?
mvn clean install
eklentileri, ancak diğer profillerde eklentileri yayınlanmaması: Ve, birisi belirtiyorsa. Ancak, komut satırında farklı bir profil ("-P diğer" aracılığıyla) belirtsem bile, varsayılan profildeki eklentiler her zaman çalışır. Burada başka bir profilin , belirtilen ancak diğer profil aynı POM belirtilen olmasıdır eğer
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<!-- Prepare liquibase scripts to run against the test db. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<dependencies>
<dependency>
<groupId>org.mainco.subco</groupId>
<artifactId>database</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>unzip-liquibase-archive</id>
<phase>process-test-resources</phase>
<configuration>
<target>
<echo message="unzipping liquibase archive" />
<unzip
src="${user.home}/.m2/repository/org/mainco/subco/database/${project.version}/database-${project.version}.jar"
dest="${project.build.directory}" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<!-- Replace relative references in liquibase file with absolute ones. -->
<execution>
<id>format-liquibase-files</id>
<phase>process-test-resources</phase>
<configuration>
<target>
<replace token='include file="'
value="include file="${project.build.directory}/" file="target/db.changelog-master.xml" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Run the liquibase scripts -->
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>2.0.1</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.18</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>build-database</id>
<phase>process-test-resources</phase>
<configuration>
<driver>com.mysql.jdbc.Driver</driver>
<url>jdbc:mysql://${test.mysql.db.host}:${test.mysql.db.port}/${test.mysql.db.sid}</url>
<username>${test.mysql.db.user}</username>
<password>${test.mysql.db.password}</password>
<changeLogFile>${project.build.directory}/db.changelog-master.xml</changeLogFile>
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
</configuration>
<goals>
<goal>update</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
...
</profiles>
garip, maven ile cmd.exe ile çalışmak gibi hissediyorum, herhangi bir tutarlılık ya da sağduyu için umarım bir şey yapamazsınız: – akostadinov