maven环境
开发环境一般用快照版本,注意项目pom.xml中的配置,需要开启snapshots 可以参考,新入门请一定看一下这个配置》》》【启用maven中央库的SNAPSHOT版本依赖】
为什么快照版本(SNAPSHOT)不用镜像代理?
因为快照版本经常更新,代理作不到实时同步,有可能几天后才会同步中央库,所以代理上没有最新的快照版本,有可能会下载失败或下载了旧版本
什么情况下需要阿里云镜像?
只有第一次配置maven环境时,或有spring等有大版本更新时,才需要镜像加速,因为需要下载许多jar,以后几乎就用不着了,每次下载不了几k的文件,加不加速没什么影响,但阿里云同步中央库有可能延迟几天,所以有些版本在阿里云上可能不全
为什么用了阿里云镜像代理成功下载了SNAPSHOT版本?
有可能是因为其他项目(如anyline-simple-*)中配置限了SNAPSHOT相关的仓库地址,在其他项目运行时下载了SNAPSHOT版本,所以并不是从阿里云镜像上下载的。
为什么SNAPSHOTS版本没有刷新?
有可能IDEA没有开启Always update snapshots(setting>Build, Execution,Deployment>Build Tools>Maven右侧选项)
如果实现更新不了找到本地jar删除一下,删除或刷新时先把应用关掉,否则文件被占用可能导致刷新或删除失败
什么情况下才需要用到私服?
通常情况下不需要私服,用中央库就可以,但中央库有个问题是版本更新比较慢,至少要1个小时,生产环境发现问题需要紧急修复的时候,用私服几分钟就可以发布新版本了。
参考【anyline私服】
需要操作什么数据库就添加什么数据库的依赖以及jdbc驱动
如操作mysql数据库需要以下两个依赖
<!--这个是anyline的适配器,根据数据库类型修改--> <dependency> <groupId>org.anyline</groupId> <artifactId>anyline-data-jdbc-mysql</artifactId> <version>8.7.1-SNAPSHOT</version> </dependency> <!--这个是mysql的官方驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</version> </dependency>
其他数据库参考【各种数据库的适配器】
因为以上是用的中央库的快照版本,maven默认禁用了快照,所以需要在项目的POM中开启<repositories> <repository> <id>ossrh</id> <url>https://oss.sonatype.org/content/repositories/snapshots/</url> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>
刚刚搭建的简易测试环境注意【以provided形式依赖的库】
中央最新版本查看:
https://mvnrepository.com/artifact/org.anyline/anyline-core
或
https://central.sonatype.com/artifact/org.anyline/anyline-core
或
https://repo.maven.apache.org/maven2/org/anyline/anyline-core/
快照版本在这里查看,主要看最后的lastUpdated确认一下最新日期
https://oss.sonatype.org/content/repositories/snapshots/org/anyline/anyline-core/maven-metadata.xml
开发过程一般什么快照版本,为了保证快照版本的及时更新,可以打开IDEA的file/setting/Build, Execution, Develoyment/Build Tools/Maven选中Always update snapshots
更新快照的最新版本可以在这里查看(替换红色部分)
https://oss.sonatype.org/content/repositories/snapshots/org/anyline/anyline-core/8.7.1-SNAPSHOT/maven-metadata.xml
看其中任意一个snapshotVersion.value如<value>8.7.1-20240110.042344-92</value>应该与本地文件名一致
对照本地maven仓库中的org\anyline\anyline-core\8.7.1-SNAPSHOT\anyline-core-8.7.1-20240110.042344-92.jar
与jdk,spring版本的对应关系
anyline | jdk | spring | spring boot |
8.7.1 | 8 | 5 | 2 |
8.7.1-jdk17 | 17 | 6 | 3 |
8.7.1-jdk21 | 21 | 6 | 3 |