我有两个不同的数据库配置文件的Maven模块。在不同的依赖关系的Maven配置文件
<profile>
<id>db-localhost-oracle</id>
<dependencies>
<dependency>
<groupId>ojdbc6</groupId>
<artifactId>ojdbc6</artifactId>
</dependency>
</dependencies>
<properties>
<db.driver>oracle.jdbc.driver.OracleDriver</db.driver>
<db.dialect>no.jbv.sergej.util.FixedOracle10gDialect</db.dialect>
<db.url>jdbc:oracle:thin:@//localhost:1521/xe</db.url>
<db.hbm2ddl>update</db.hbm2ddl>
</properties>
</profile>
<profile>
<id>db-localhost-mysql</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<properties>
<db.driver>com.mysql.jdbc.Driver</db.driver>
<db.dialect>org.hibernate.dialect.MySQL5Dialect</db.dialect>
<db.url>jdbc:mysql://localhost/${mysql.schema}</db.url>
<db.hbm2ddl>update</db.hbm2ddl>
</properties>
</profile>
当运行行家安装用 “DB-本地主机MySQL的”,它包括在库目录中的 “MySQL的连接器的Java” jar文件。现在我使用“db-localhost-oracle”进行干净安装,它在lib目录中包含“mysql-connector-java”和“ojdbc6”jar。
我该如何做,如果我建立一个配置文件maven自动删除其他配置文件的罐子?
我发现,如果我从db-localhost-mysql中删除activeByDefault比按预期工作。即当我使用db-localhost-oracle进行构建时,会删除mysql-connector-java jar。 –
是不是这样,如果任何配置文件被标记为activeByDefault,即使我们选择任何其他配置文件,它仍然是活动的? –
否。只有在启用** no **配置文件时才会激活_除非同一个POM中的另一个配置文件使用前述方法之一激活,否则此配置文件将自动对所有构建生效。默认情况下处于活动状态的所有配置文件都会在命令行中激活POM中的配置文件或激活配置时自动停用。请参阅[文档](http://maven.apache.org/guides/introduction/introduction -to-型材。html) –