在maven里有 bom (bill of materials) 的功能,可以解决同一项目,不同版本依赖的问题。
gradle虽然是“下一代maven”替代品,但并没有原生的支持bom这一强大的功能。
有两个方案可以搞定类似的需求:
- dsl
- 使用第三方插件,如 Dependency management plugin
本文主要介绍后者的用法
TL;DR:参考写好的两个项目 pom-parent-test (bom) 和 pom-gradle-test (子[......]
在maven里有 bom (bill of materials) 的功能,可以解决同一项目,不同版本依赖的问题。
gradle虽然是“下一代maven”替代品,但并没有原生的支持bom这一强大的功能。
有两个方案可以搞定类似的需求:
本文主要介绍后者的用法
TL;DR:参考写好的两个项目 pom-parent-test (bom) 和 pom-gradle-test (子[......]
// maven deploy config start
configurations {
deployerJars
}
uploadArchives {
repositories.mavenDeployer {
configuration = configurations.deployerJars
repository(url: "http://maven.coder4.com/nexus/content/repositorie[......]
之前是这样的:
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
}
更改后是这样的:
repositories {
maven {
credentials {
username 'username'
password 'password'
}
url 'http://ma[......]
假设要搞一个2级map: type -> level -> score
先看配置:
xxxx.old.type2Level2ScoreMap:
type_1.level2ScoreMap.level_1: 1
type_1.level2ScoreMap.level_2: 2
type_2.level2ScoreMap.level_1: 1
type_3.level2ScoreMap.level_1: 1
首先搞定2个数据结构,注意一定要字段名对应,层[......]
首先函数一定要有@Transactional
然后,任意位置添加这段
TransactionSynchronizationManager.registerSynchronization(
new TransactionSynchronizationAdapter() {
@Override
public void afterCommit() {[......]