Sql server 在maven中使用liquibase的sql server驱动程序
我在让liquibase maven插件与MS Sql Server一起工作时遇到问题。我已将最新的sqljdbc4.jar添加到本地maven repo中,并通过运行liquibase.bat从现有数据库生成了一个变更集。当我试着跑的时候Sql server 在maven中使用liquibase的sql server驱动程序,sql-server,maven,sql-server-2008-r2,liquibase,Sql Server,Maven,Sql Server 2008 R2,Liquibase,我在让liquibase maven插件与MS Sql Server一起工作时遇到问题。我已将最新的sqljdbc4.jar添加到本地maven repo中,并通过运行liquibase.bat从现有数据库生成了一个变更集。当我试着跑的时候 mvn liquibase:update 我得到以下例外 Failed to execute goal org.liquibase:liquibase-maven-plugin:2.0.5:update (default-cli) on project p
mvn liquibase:update
我得到以下例外
Failed to execute goal org.liquibase:liquibase-maven-plugin:2.0.5:update (default-cli) on project parent: The driver has not been specified either as a parameter or in a properties file.
这是我当前的pom.xml
<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>
<groupId>se.myproject</groupId>
<artifactId>parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>parent</name>
<properties>
<junit.version>4.4</junit.version>
<jdk.version>1.7</jdk.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<glassfish.glassfishDirectory>/glassfish/glassfish/</glassfish.glassfishDirectory>
<glassfish.user>myuser</glassfish.user>
<glassfish.adminPassword>mypass</glassfish.adminPassword>
<glassfish.domain.name>domain1</glassfish.domain.name>
<glassfish.domain.host>localhost</glassfish.domain.host>
<glassfish.domain.adminPort>4848</glassfish.domain.adminPort>
</properties>
<modules>
<module>commons</module>
<module>entities</module>
<module>services</module>
<module>web</module>
</modules>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>2.0.5</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
<outputDirectory>target</outputDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>2.0.5</version>
<executions>
<execution>
<phase>process-resources</phase>
<configuration>
<changeLogFile>changelog-${project.version}.xml</changeLogFile>
<driver>com.microsoft.sqlserver.sqljdbc4</driver>
<url>jdbc:sqlserver://localhost:1433;databaseName=MyDb</url>
<username>myusername</username>
<password>mypassword</password>
</configuration>
<goals>
<goal>update</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
4.0.0
se.myproject
父母亲
0.0.1-快照
聚甲醛
父母亲
4.4
1.7
UTF-8
/玻璃鱼/
我的用户
我的通行证
域1
本地服务器
4848
平民
实体
服务
网状物
朱尼特
朱尼特
${junit.version}
测试
爪哇
JavaEEAPI
7
org.mockito
莫基托所有
1.9.5
com.microsoft.sqlserver
sqljdbc4
4
org.liquibase
liquibase maven插件
2.0.5
org.apache.maven.plugins
maven编译器插件
${jdk.version}
${jdk.version}
目标
org.liquibase
liquibase maven插件
2.0.5
过程资源
changelog-${project.version}.xml
com.microsoft.sqlserver.sqljdbc4
jdbc:sqlserver://localhost:1433;databaseName=MyDb
我的用户名
我的密码
更新
您需要将liquibase数据库凭据指定为属性,例如:
<properties>
<liquibase.url>jdbc:h2:target/db1/liquibaseTest;AUTO_SERVER=TRUE</liquibase.url>
<liquibase.driver>org.h2.Driver</liquibase.driver>
<liquibase.username>user</liquibase.username>
<liquibase.password>pass</liquibase.password>
</properties>
jdbc:h2:target/db1/liquibaseTest;自动_服务器=TRUE
org.h2.Driver
用户
通过
请参见以下示例:
liquibase.driver
的属性,而不仅仅是xml中提供的driver
。@Marthin是的,Jens是对的。liquibase插件的现代版本并非完全由Java属性提供支持。据我所知,Maven/Gradle/ANT/Java运行程序的基本代码是相同的,都是使用属性配置的。试试看。我倾向于根据我提供的例子来工作。