pom.xml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439
  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>com.diagbot</groupId>
  7. <artifactId>aipt-service</artifactId>
  8. <version>0.0.1-SNAPSHOT</version>
  9. <packaging>jar</packaging>
  10. <name>aipt-service</name>
  11. <description>AI and Knowledge Service for Spring Boot</description>
  12. <parent>
  13. <groupId>com.diagbot</groupId>
  14. <artifactId>diagbotcloud</artifactId>
  15. <version>0.0.1-SNAPSHOT</version>
  16. </parent>
  17. <dependencies>
  18. <dependency>
  19. <groupId>com.diagbot</groupId>
  20. <artifactId>common</artifactId>
  21. <version>0.0.1-SNAPSHOT</version>
  22. </dependency>
  23. <dependency>
  24. <groupId>org.springframework.cloud</groupId>
  25. <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  26. </dependency>
  27. <!-- 配置-->
  28. <dependency>
  29. <groupId>org.springframework.cloud</groupId>
  30. <artifactId>spring-cloud-starter-config</artifactId>
  31. </dependency>
  32. <!-- 开启web-->
  33. <dependency>
  34. <groupId>org.springframework.boot</groupId>
  35. <artifactId>spring-boot-starter-web</artifactId>
  36. <exclusions>
  37. <exclusion>
  38. <groupId>org.springframework.boot</groupId>
  39. <artifactId>spring-boot-starter-tomcat</artifactId>
  40. </exclusion>
  41. </exclusions>
  42. </dependency>
  43. <dependency>
  44. <groupId>org.springframework.boot</groupId>
  45. <artifactId>spring-boot-starter-undertow</artifactId>
  46. </dependency>
  47. <!-- 开启feign-->
  48. <dependency>
  49. <groupId>org.springframework.cloud</groupId>
  50. <artifactId>spring-cloud-starter-openfeign</artifactId>
  51. </dependency>
  52. <!-- dashboard -->
  53. <!-- actuator-->
  54. <dependency>
  55. <groupId>org.springframework.boot</groupId>
  56. <artifactId>spring-boot-starter-actuator</artifactId>
  57. </dependency>
  58. <!--hystrix-dashboard-->
  59. <dependency>
  60. <groupId>org.springframework.cloud</groupId>
  61. <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
  62. </dependency>
  63. <!--hystrix -->
  64. <dependency>
  65. <groupId>org.springframework.cloud</groupId>
  66. <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
  67. </dependency>
  68. <!-- zipkin-->
  69. <dependency>
  70. <groupId>org.springframework.cloud</groupId>
  71. <artifactId>spring-cloud-starter-zipkin</artifactId>
  72. </dependency>
  73. <!--swagger-->
  74. <dependency>
  75. <groupId>io.springfox</groupId>
  76. <artifactId>springfox-swagger2</artifactId>
  77. </dependency>
  78. <dependency>
  79. <groupId>io.springfox</groupId>
  80. <artifactId>springfox-swagger-ui</artifactId>
  81. </dependency>
  82. <!--database-->
  83. <dependency>
  84. <groupId>mysql</groupId>
  85. <artifactId>mysql-connector-java</artifactId>
  86. <scope>runtime</scope>
  87. </dependency>
  88. <!--security-->
  89. <dependency>
  90. <groupId>org.springframework.cloud</groupId>
  91. <artifactId>spring-cloud-starter-oauth2</artifactId>
  92. </dependency>
  93. <!-- mq -->
  94. <dependency>
  95. <groupId>org.springframework.boot</groupId>
  96. <artifactId>spring-boot-starter-amqp</artifactId>
  97. </dependency>
  98. <dependency>
  99. <groupId>org.projectlombok</groupId>
  100. <artifactId>lombok</artifactId>
  101. <optional>true</optional>
  102. </dependency>
  103. <dependency>
  104. <groupId>net.logstash.logback</groupId>
  105. <artifactId>logstash-logback-encoder</artifactId>
  106. </dependency>
  107. <dependency>
  108. <groupId>org.springframework.cloud</groupId>
  109. <artifactId>spring-cloud-starter-bus-amqp</artifactId>
  110. </dependency>
  111. <!-- mybatis-plus begin -->
  112. <dependency>
  113. <groupId>com.baomidou</groupId>
  114. <artifactId>mybatis-plus-boot-starter</artifactId>
  115. </dependency>
  116. <dependency>
  117. <groupId>com.baomidou</groupId>
  118. <artifactId>mybatis-plus-generator</artifactId>
  119. </dependency>
  120. <!-- mybatis-plus end -->
  121. <!-- 阿里巴巴druid数据库连接池 -->
  122. <dependency>
  123. <groupId>com.alibaba</groupId>
  124. <artifactId>druid-spring-boot-starter</artifactId>
  125. </dependency>
  126. <!-- springboot整合mybatis(核心就这一个) -->
  127. <!-- 注意顺序,这个一定要放在最下面 -->
  128. <dependency>
  129. <groupId>org.mybatis.spring.boot</groupId>
  130. <artifactId>mybatis-spring-boot-starter</artifactId>
  131. </dependency>
  132. <dependency>
  133. <groupId>org.springframework.cloud</groupId>
  134. <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
  135. </dependency>
  136. <!--offline doc-->
  137. <dependency>
  138. <groupId>org.springframework.restdocs</groupId>
  139. <artifactId>spring-restdocs-mockmvc</artifactId>
  140. <!--<scope>test</scope>-->
  141. </dependency>
  142. <dependency>
  143. <groupId>io.github.swagger2markup</groupId>
  144. <artifactId>swagger2markup-spring-restdocs-ext</artifactId>
  145. <version>${swagger2markup.version}</version>
  146. <scope>test</scope>
  147. </dependency>
  148. <dependency>
  149. <groupId>io.springfox</groupId>
  150. <artifactId>springfox-staticdocs</artifactId>
  151. <version>2.6.1</version>
  152. <!--<scope>test</scope>-->
  153. </dependency>
  154. </dependencies>
  155. <repositories>
  156. <repository>
  157. <id>jcentral</id>
  158. <name>bintray</name>
  159. <url>http://jcenter.bintray.com</url>
  160. <snapshots>
  161. <enabled>false</enabled>
  162. </snapshots>
  163. </repository>
  164. <repository>
  165. <id>jcenter-snapshots</id>
  166. <name>jcenter</name>
  167. <url>http://oss.jfrog.org/artifactory/oss-snapshot-local/</url>
  168. </repository>
  169. </repositories>
  170. <pluginRepositories>
  171. <pluginRepository>
  172. <id>jcenter-snapshots</id>
  173. <name>jcenter</name>
  174. <url>http://oss.jfrog.org/artifactory/oss-snapshot-local/</url>
  175. </pluginRepository>
  176. <pluginRepository>
  177. <id>jcenter-releases</id>
  178. <name>jcenter</name>
  179. <url>http://jcenter.bintray.com</url>
  180. <snapshots>
  181. <enabled>false</enabled>
  182. </snapshots>
  183. </pluginRepository>
  184. </pluginRepositories>
  185. <build>
  186. <plugins>
  187. <plugin>
  188. <groupId>org.springframework.boot</groupId>
  189. <artifactId>spring-boot-maven-plugin</artifactId>
  190. </plugin>
  191. <plugin>
  192. <groupId>org.apache.maven.plugins</groupId>
  193. <artifactId>maven-compiler-plugin</artifactId>
  194. <version>3.3</version>
  195. <configuration>
  196. <compilerVersion>${java.version}</compilerVersion>
  197. <source>${java.version}</source>
  198. <target>${java.version}</target>
  199. <encoding>UTF-8</encoding>
  200. <!-- prevents endPosTable exception for maven compile -->
  201. <useIncrementalCompilation>false</useIncrementalCompilation>
  202. </configuration>
  203. </plugin>
  204. <plugin>
  205. <groupId>org.apache.maven.plugins</groupId>
  206. <artifactId>maven-surefire-plugin</artifactId>
  207. <configuration>
  208. <systemPropertyVariables>
  209. <io.springfox.staticdocs.outputDir>${swagger.output.dir}</io.springfox.staticdocs.outputDir>
  210. <io.springfox.staticdocs.snippetsOutputDir>${swagger.snippetOutput.dir}</io.springfox.staticdocs.snippetsOutputDir>
  211. </systemPropertyVariables>
  212. </configuration>
  213. </plugin>
  214. <!-- First, use the swagger2markup plugin to generate asciidoc -->
  215. <plugin>
  216. <groupId>io.github.swagger2markup</groupId>
  217. <artifactId>swagger2markup-maven-plugin</artifactId>
  218. <version>${swagger2markup.version}</version>
  219. <dependencies>
  220. <dependency>
  221. <groupId>io.github.swagger2markup</groupId>
  222. <artifactId>swagger2markup-import-files-ext</artifactId>
  223. <version>${swagger2markup.version}</version>
  224. </dependency>
  225. <dependency>
  226. <groupId>io.github.swagger2markup</groupId>
  227. <artifactId>swagger2markup-spring-restdocs-ext</artifactId>
  228. <version>${swagger2markup.version}</version>
  229. </dependency>
  230. </dependencies>
  231. <configuration>
  232. <swaggerInput>${swagger.input}</swaggerInput>
  233. <outputDir>${generated.asciidoc.directory}</outputDir>
  234. <config>
  235. <swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage>
  236. <swagger2markup.pathsGroupedBy>TAGS</swagger2markup.pathsGroupedBy>
  237. <swagger2markup.extensions.dynamicOverview.contentPath>${project.basedir}/src/docs/asciidoc/extensions/overview</swagger2markup.extensions.dynamicOverview.contentPath>
  238. <swagger2markup.extensions.dynamicDefinitions.contentPath>${project.basedir}/src/docs/asciidoc/extensions/definitions</swagger2markup.extensions.dynamicDefinitions.contentPath>
  239. <swagger2markup.extensions.dynamicPaths.contentPath>${project.basedir}/src/docs/asciidoc/extensions/paths</swagger2markup.extensions.dynamicPaths.contentPath>
  240. <swagger2markup.extensions.dynamicSecurity.contentPath>${project.basedir}src/docs/asciidoc/extensions/security/</swagger2markup.extensions.dynamicSecurity.contentPath>
  241. <swagger2markup.extensions.springRestDocs.snippetBaseUri>${swagger.snippetOutput.dir}</swagger2markup.extensions.springRestDocs.snippetBaseUri>
  242. <swagger2markup.extensions.springRestDocs.defaultSnippets>true</swagger2markup.extensions.springRestDocs.defaultSnippets>
  243. </config>
  244. </configuration>
  245. <executions>
  246. <execution>
  247. <phase>test</phase>
  248. <goals>
  249. <goal>convertSwagger2markup</goal>
  250. </goals>
  251. </execution>
  252. </executions>
  253. </plugin>
  254. <!-- Run the generated asciidoc through Asciidoctor to generate
  255. other documentation types, such as PDFs or HTML5 -->
  256. <plugin>
  257. <groupId>org.asciidoctor</groupId>
  258. <artifactId>asciidoctor-maven-plugin</artifactId>
  259. <version>1.5.6</version>
  260. <!-- Include Asciidoctor PDF for pdf generation -->
  261. <dependencies>
  262. <dependency>
  263. <groupId>org.asciidoctor</groupId>
  264. <artifactId>asciidoctorj-pdf</artifactId>
  265. <version>1.5.0-alpha.16</version>
  266. </dependency>
  267. <dependency>
  268. <groupId>org.jruby</groupId>
  269. <artifactId>jruby-complete</artifactId>
  270. <version>1.7.21</version>
  271. </dependency>
  272. </dependencies>
  273. <!-- Configure generic document generation settings -->
  274. <configuration>
  275. <sourceDirectory>${asciidoctor.input.directory}</sourceDirectory>
  276. <sourceDocumentName>index.adoc</sourceDocumentName>
  277. <attributes>
  278. <doctype>book</doctype>
  279. <toc>left</toc>
  280. <toclevels>3</toclevels>
  281. <numbered></numbered>
  282. <hardbreaks></hardbreaks>
  283. <sectlinks></sectlinks>
  284. <sectanchors></sectanchors>
  285. <generated>${generated.asciidoc.directory}</generated>
  286. </attributes>
  287. </configuration>
  288. <!-- Since each execution can only handle one backend, run
  289. separate executions for each desired output type -->
  290. <executions>
  291. <execution>
  292. <id>output-html</id>
  293. <phase>test</phase>
  294. <goals>
  295. <goal>process-asciidoc</goal>
  296. </goals>
  297. <configuration>
  298. <backend>html5</backend>
  299. <outputDirectory>${asciidoctor.html.output.directory}</outputDirectory>
  300. </configuration>
  301. </execution>
  302. <execution>
  303. <id>output-pdf</id>
  304. <phase>test</phase>
  305. <goals>
  306. <goal>process-asciidoc</goal>
  307. </goals>
  308. <configuration>
  309. <backend>pdf</backend>
  310. <outputDirectory>${asciidoctor.pdf.output.directory}</outputDirectory>
  311. </configuration>
  312. </execution>
  313. </executions>
  314. </plugin>
  315. <!-- specify the main class for the manifest -->
  316. <plugin>
  317. <groupId>org.apache.maven.plugins</groupId>
  318. <artifactId>maven-jar-plugin</artifactId>
  319. <version>3.1.0</version>
  320. <configuration>
  321. <archive>
  322. <manifest>
  323. <addClasspath>true</addClasspath>
  324. <classpathPrefix>lib/</classpathPrefix>
  325. <!--important!!! specify the main class for the manifest!!!-->
  326. <!--important!!! specify the main class for the manifest!!!-->
  327. <!--important!!! specify the main class for the manifest!!!-->
  328. <mainClass>com.chinamobile.cmic.apidoc.ApiDocApplication</mainClass>
  329. </manifest>
  330. </archive>
  331. </configuration>
  332. </plugin>
  333. <!-- copy dependencies to the lib directory -->
  334. <plugin>
  335. <artifactId>maven-dependency-plugin</artifactId>
  336. <executions>
  337. <execution>
  338. <phase>package</phase>
  339. <goals>
  340. <goal>copy-dependencies</goal>
  341. </goals>
  342. <configuration>
  343. <outputDirectory>${project.build.directory}/lib</outputDirectory>
  344. </configuration>
  345. </execution>
  346. </executions>
  347. </plugin>
  348. <!-- copy the generated documents -->
  349. <plugin>
  350. <artifactId>maven-resources-plugin</artifactId>
  351. <version>3.1.0</version>
  352. <executions>
  353. <execution>
  354. <id>copy-resources</id>
  355. <phase>prepare-package</phase>
  356. <goals>
  357. <goal>copy-resources</goal>
  358. </goals>
  359. <configuration>
  360. <outputDirectory>${project.build.outputDirectory}/static/docs</outputDirectory>
  361. <resources>
  362. <resource>
  363. <directory>${asciidoctor.html.output.directory}</directory>
  364. </resource>
  365. <resource>
  366. <directory>${asciidoctor.pdf.output.directory}</directory>
  367. </resource>
  368. </resources>
  369. </configuration>
  370. </execution>
  371. </executions>
  372. </plugin>
  373. </plugins>
  374. </build>
  375. <!--<build>-->
  376. <!--<plugins>-->
  377. <!--<plugin>-->
  378. <!--<groupId>org.springframework.boot</groupId>-->
  379. <!--<artifactId>spring-boot-maven-plugin</artifactId>-->
  380. <!--</plugin>-->
  381. <!--&lt;!&ndash; 添加docker-maven插件 &ndash;&gt;-->
  382. <!--<plugin>-->
  383. <!--<groupId>com.spotify</groupId>-->
  384. <!--<artifactId>docker-maven-plugin</artifactId>-->
  385. <!--<configuration>-->
  386. <!--<imageName>${docker.image.prefix}/${project.artifactId}:${project.version}</imageName>-->
  387. <!--<forceTags>true</forceTags>-->
  388. <!--&lt;!&ndash;镜像的FROM,使用压缩的小镜像&ndash;&gt;-->
  389. <!--<baseImage>frolvlad/alpine-oraclejre8:slim</baseImage>-->
  390. <!--<entryPoint>["java", "-jar", "-Xms256m", "-Xmx1024m", "-Duser.timezone=GMT+8", "/${project.build.finalName}.jar"]</entryPoint>-->
  391. <!--<resources>-->
  392. <!--<resource>-->
  393. <!--<targetPath>/</targetPath>-->
  394. <!--<directory>${project.build.directory}</directory>-->
  395. <!--<include>${project.build.finalName}.jar</include>-->
  396. <!--</resource>-->
  397. <!--</resources>-->
  398. <!--<serverId>docker-registry</serverId>-->
  399. <!--<registryUrl>http://192.168.2.236:5000/repository/diagbotcloud/</registryUrl>-->
  400. <!--</configuration>-->
  401. <!--</plugin>-->
  402. <!--</plugins>-->
  403. <!--</build>-->
  404. </project>