Java 如何通过maven运行嵌入式mysql服务器?
有没有办法在maven集成测试期间运行一些轻量级MySql?我所发现的是,它似乎是在客户端应用程序内部启动的。是否有一种方法或包装器可以将其作为litle服务器运行?还是其他运行轻量级Mysql服务器的方法/实现 注意Java 如何通过maven运行嵌入式mysql服务器?,java,mysql,maven,Java,Mysql,Maven,有没有办法在maven集成测试期间运行一些轻量级MySql?我所发现的是,它似乎是在客户端应用程序内部启动的。是否有一种方法或包装器可以将其作为litle服务器运行?还是其他运行轻量级Mysql服务器的方法/实现 注意 还有一个库,看起来不错,但太旧了(2006)。正如@hotzst所提到的,一个类似or的嵌入式数据库已经非常有用了 但是,如果确实需要,您可以使用来启动maven构建过程中的任何软件 唯一的先决条件是在您的机器上安装一个正常工作的docker或docker机器 在进行集成测试时,
还有一个库,看起来不错,但太旧了(2006)。正如@hotzst所提到的,一个类似or的嵌入式数据库已经非常有用了 但是,如果确实需要,您可以使用来启动maven构建过程中的任何软件 唯一的先决条件是在您的机器上安装一个正常工作的docker或docker机器 在进行集成测试时,我使用以下代码片段启动mongodb
<plugin>
<groupId>org.jolokia</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.13.7</version>
<configuration>
<logDate>default</logDate>
<autoPull>true</autoPull>
<images>
<image>
<alias>mysql</alias>
<name>mysql:5.7.10</name>
<run>
<ports>
<port>3306:3306</port>
</ports>
<log>
<prefix>Mongo</prefix>
<color>yellow</color>
</log>
</run>
</image>
</images>
</configuration>
<executions>
<execution>
<id>start</id>
<phase>pre-integration-test</phase>
<goals>
<goal>build</goal>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>stop</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
org.jolokia
docker maven插件
0.13.7
违约
真的
mysql
mysql:5.7.10
3306:3306
蒙戈
黄色的
开始
预集成测试
建造
开始
停止
整合后测试
停止
您可以使用mvn:verify
启动所有集成测试和相应的maven阶段。
第一次运行此插件可能需要一段时间。正如@hotzst所提到的,像or这样的嵌入式数据库已经非常有用了 但是,如果确实需要,您可以使用来启动maven构建过程中的任何软件 唯一的先决条件是在您的机器上安装一个正常工作的docker或docker机器 在进行集成测试时,我使用以下代码片段启动mongodb
<plugin>
<groupId>org.jolokia</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.13.7</version>
<configuration>
<logDate>default</logDate>
<autoPull>true</autoPull>
<images>
<image>
<alias>mysql</alias>
<name>mysql:5.7.10</name>
<run>
<ports>
<port>3306:3306</port>
</ports>
<log>
<prefix>Mongo</prefix>
<color>yellow</color>
</log>
</run>
</image>
</images>
</configuration>
<executions>
<execution>
<id>start</id>
<phase>pre-integration-test</phase>
<goals>
<goal>build</goal>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>stop</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
org.jolokia
docker maven插件
0.13.7
违约
真的
mysql
mysql:5.7.10
3306:3306
蒙戈
黄色的
开始
预集成测试
建造
开始
停止
整合后测试
停止
您可以使用mvn:verify
启动所有集成测试和相应的maven阶段。
第一次运行此插件可能需要一段时间。我可以想象,在集成测试期间使用MySQL是有原因的,但它们是什么?因为我的第一个问题是为什么不使用内存数据库。好的,应该使用什么内存数据库?这是一个很好的观点,但对于不同的数据库,我有不同的sql方言。这是第一次。第二个问题不是运行整个MySql,而是运行Lith版本,当然它可以(在好的情况下)在内存中,但支持所有(或大多数使用的)MySql特性。(我所说的特性主要是指sql语法,而不是所有db server特性)我可以想象,在集成测试期间使用MySQL是有原因的,但它们是什么?因为我的第一个问题是为什么不使用内存数据库。好的,应该使用什么内存数据库?这是一个很好的观点,但对于不同的数据库,我有不同的sql方言。这是第一次。第二个问题不是运行整个MySql,而是运行Lith版本,当然它可以(在好的情况下)在内存中,但支持所有(或大多数使用的)MySql特性。(我所说的功能主要是指sql语法,而不是所有db server功能)但它们有不同的sql方言,不是吗?这两种数据库都提供与其他数据库的方言兼容性。在互联网上你可以很容易地找到。你尝试过这种模式吗?正如我看到的,需要在sql查询/模式中进行编辑。然后您只需尝试docker插件,但它们有不同的sql方言,不是吗?两个数据库都提供与其他数据库的方言兼容性。在互联网上你可以很容易地找到。你尝试过这种模式吗?正如我所看到的,需要在sql查询/模式中进行编辑。然后您只需尝试docker插件