当前位置:   article > 正文

jdbc驱动mysql-connector-j的maven编译方法_mysql-connector-java maven

mysql-connector-java maven

一、问题

MySQL官网上面提供的驱动编译方法,是通过ant编译的,所有依赖包都要自行下载,虽然提供了下载地址,但是过程也有点麻烦。

通过maven的方式进行编译,更加简洁,明了。

二、解决方法

1、资源下载

 (1)MySQL官方提供的编译方法,比较古老

MySQL :: MySQL Connector/J 8.0 Developer Guide :: 4.3 Installing from Sourcehttps://dev.mysql.com/doc/connector-j/8.0/en/connector-j-installing-source.html(2)mysql-connect-j源码下载:

GitHub - mysql/mysql-connector-j: MySQL Connector/Jhttps://github.com/mysql/mysql-connector-j(3)jdk1.8下载

 jdk需要选择1.8,可以在oracle官网下载:Java Downloads | Oraclehttps://www.oracle.com/java/technologies/downloads/#java8

打开网页是最新版java20,往下拉选择java 8,64位操作系统选择x64,32位操作系统选择x86

2、打开IDEA,新建项目

3、生成器选择maven,填写项目名称、位置、选择JDK、archetype,点击右下角创建

4、打开新建工程目录,用上面下载的mysql-connector-j源码中src目录下的所有文件,复制替换新建新建工程src目录下的所有文件

 

 5、替换完成后,删除其他文件,比如it

 6、打开工程下的pom.xml文件

7、编辑pom.xml文件 

 将pom.xml文件中的已有内容进行替换,具体如下

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>mysql</groupId>
  7. <artifactId>mysql-connector-java</artifactId>
  8. <version>8.0.20</version>
  9. <dependencies>
  10. <dependency>
  11. <groupId>org.apache.maven</groupId>
  12. <artifactId>maven-plugin-api</artifactId>
  13. <version>2.0</version>
  14. </dependency>
  15. <dependency>
  16. <groupId>org.apache.maven.plugin-tools</groupId>
  17. <artifactId>maven-plugin-annotations</artifactId>
  18. <version>3.2</version>
  19. </dependency>
  20. <dependency>
  21. <groupId>junit</groupId>
  22. <artifactId>junit</artifactId>
  23. <version>3.8.1</version>
  24. <scope>test</scope>
  25. </dependency>
  26. <dependency>
  27. <groupId>junit</groupId>
  28. <artifactId>junit</artifactId>
  29. <version>4.11</version>
  30. <scope>test</scope>
  31. </dependency>
  32. <dependency>
  33. <groupId>org.junit.jupiter</groupId>
  34. <artifactId>junit-jupiter-api</artifactId>
  35. <version>5.8.2</version>
  36. <scope>test</scope>
  37. </dependency>
  38. <dependency>
  39. <groupId>org.junit.jupiter</groupId>
  40. <artifactId>junit-jupiter-engine</artifactId>
  41. <version>5.6.2</version>
  42. </dependency>
  43. <dependency>
  44. <groupId>org.junit.platform</groupId>
  45. <artifactId>junit-platform-runner</artifactId>
  46. <version>1.6.2</version>
  47. </dependency>
  48. <dependency>
  49. <groupId>com.google.protobuf</groupId>
  50. <artifactId>protobuf-java</artifactId>
  51. <version>3.22.0</version>
  52. </dependency>
  53. <dependency>
  54. <groupId>com.mchange</groupId>
  55. <artifactId>c3p0</artifactId>
  56. <version>0.9.5.5</version>
  57. </dependency>
  58. <dependency>
  59. <groupId>org.javassist</groupId>
  60. <artifactId>javassist</artifactId>
  61. <version>3.28.0-GA</version>
  62. </dependency>
  63. <dependency>
  64. <groupId>org.slf4j</groupId>
  65. <artifactId>slf4j-api</artifactId>
  66. <version>1.7.36</version>
  67. </dependency>
  68. <dependency>
  69. <groupId>com.oracle.oci.sdk</groupId>
  70. <artifactId>oci-java-sdk-common</artifactId>
  71. <version>2.27.0</version>
  72. </dependency>
  73. </dependencies>
  74. <build>
  75. <finalName>${project.artifactId}-${project.version}</finalName>
  76. <plugins>
  77. <plugin>
  78. <groupId>org.apache.maven.plugins</groupId>
  79. <artifactId>maven-jar-plugin</artifactId>
  80. <version>3.0.2</version>
  81. <configuration>
  82. <archive>
  83. <addMavenDescriptor>false</addMavenDescriptor>
  84. </archive>
  85. </configuration>
  86. </plugin>
  87. <plugin>
  88. <groupId>org.apache.maven.plugins</groupId>
  89. <artifactId>maven-clean-plugin</artifactId>
  90. <version>2.5</version>
  91. <configuration>
  92. <filesets>
  93. <fileset>
  94. <directory>${basedir}/jar</directory>
  95. </fileset>
  96. </filesets>
  97. </configuration>
  98. </plugin>
  99. <plugin>
  100. <groupId>org.apache.maven.plugins</groupId>
  101. <artifactId>maven-compiler-plugin</artifactId>
  102. <version>3.1</version>
  103. <configuration>
  104. <source>1.8</source>
  105. <target>1.8</target>
  106. </configuration>
  107. </plugin>
  108. <plugin>
  109. <groupId>org.codehaus.mojo</groupId>
  110. <artifactId>build-helper-maven-plugin</artifactId>
  111. <version>1.8</version>
  112. <executions>
  113. <execution>
  114. <id>add-build</id>
  115. <phase>generate-sources</phase>
  116. <goals>
  117. <goal>add-source</goal>
  118. </goals>
  119. <configuration>
  120. <sources>
  121. <source>src/build/java/</source>
  122. <source>src/demo/java/</source>
  123. <source>src/generated/java/</source>
  124. <source>src/legacy/java/</source>
  125. <source>src/main/core-api/java/</source>
  126. <source>src/main/core-impl/java/</source>
  127. <source>src/main/protocol-impl/java/</source>
  128. <source>src/main/user-api/java/</source>
  129. <source>src/main/user-impl/java/</source>
  130. </sources>
  131. </configuration>
  132. </execution>
  133. <execution>
  134. <id>add-test</id>
  135. <phase>generate-test-sources</phase>
  136. <goals>
  137. <goal>add-test-source</goal>
  138. </goals>
  139. <configuration>
  140. <sources>
  141. <source>src/test/java/</source>
  142. </sources>
  143. </configuration>
  144. </execution>
  145. </executions>
  146. </plugin>
  147. <plugin>
  148. <groupId>org.apache.maven.plugins</groupId>
  149. <artifactId>maven-surefire-plugin</artifactId>
  150. <version>2.21.0</version>
  151. <dependencies>
  152. <dependency>
  153. <groupId>org.junit.platform</groupId>
  154. <artifactId>junit-platform-surefire-provider</artifactId>
  155. <version>1.2.0-M1</version>
  156. </dependency>
  157. <dependency>
  158. <groupId>org.junit.jupiter</groupId>
  159. <artifactId>junit-jupiter-engine</artifactId>
  160. <version>5.6.2</version>
  161. </dependency>
  162. </dependencies>
  163. </plugin>
  164. </plugins>
  165. </build>
  166. </project>

8、pom.xml文件编辑注意事项

(1)pom中依赖吧的版本可能和mysql-connector-j版本有关,上面pom.xml内容是2023.3.8日的,如果驱动代码更新,依赖包的版本可能需同步更新

 9、点击右边栏maven,点击重新加载所有依赖项目

 10、加载完成即可看到所有插件和依赖项

 11、双击compile,开始编译工程,结果如下

12、双击maven中的package进行打包 

由于工程默认会跑自带的ut测试用例,耗时较长

  13、在maven选项中点击跳过测试,可以不用跑测试用例,速度会快一些

14、跳过测试模式后,打包还是比较快的

15、查看编译打包结果

 打包完成后,工程目录下会多一个target文件夹,里面有打包结果jar文件

16、结果jar文件命名是在pom.xml文件中设定的

 17、打包完成后,或者每次重新打包前,需要清理target结果,点击maven中的clean即可

三、总结

本文记录了mysql-connector-j也就是mysql的jdbc驱动源码编译打包的方式,通过maven方式进行打包,更加方便,需要重点注意就是pom.xml文件中的依赖包名称和版本内容。 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/289851
推荐阅读
相关标签
  

闽ICP备14008679号