maven环境

最后更新:2024-04-18 21:05:23 | 状态:未完成
Maven版本要求不低于3.6.3(JDK17或spring3.x要求maven不低于3.8.3)

开发环境一般用快照版本,注意项目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私服

【关于mirror与repository配置参考这里】

需要操作什么数据库就添加什么数据库的依赖以及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

最近更新 搜索 提交