maven에서 gradle로 마이그레이션하는 방법을 찾고 있습니다. 현재 설정에는 모든 버전 종속성을 정의하는 마스터 pom이 있습니다.Gradle Maven Bom Properties
프로젝트 이름은 마스터 치어과 같은 조각이 : 이제
<properties>
<commons-beanutils-version>1.9.1</commons-beanutils-version>
</properties>
: 우리는이 라인을 따라 뭔가를 정의
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>${commons-beanutils-version}</version>
</dependency>
.... 나중에 아래 파일을 이것은 내가 지금까지 가지고있는 것입니다 :
plugins {
id "com.github.johnrengelman.shadow" version "1.2.4"
id "nebula.dependency-recommender" version "3.7.0"
}
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'nebula.dependency-recommender'
apply plugin: "com.github.johnrengelman.shadow"
version = '1.0.0-SNAPSHOT'
sourceCompatibility = '1.8'
description = """best-service-ever"""
repositories {
mavenLocal()
maven { url 'https://repo.server.com/nexus/content/groups/public'
credentials {
username 'username'
password nexusPassword
}
}
mavenCentral()
jcenter()
}
dependencyRecommendations {
mavenBom module: 'biz.company.name:master-pom:1.0.0-SNAPSHOT'
}
dependencies {
... some dependencies
compile 'biz.company.name:db-schema'
}
이 시점에서 버전 na를 선택합니다 med $ {db-version}을 사용하고 build-maven에서 올바르게 정의 된 것을 사용하십시오. 문제는 해당 버전을 특정 버전으로 재정의해야한다는 것입니다.
나는 gradle.properties에 값을 넣으려고했지만 그 문제가 있습니다.
db-version은 gradle에 의해 지원되지 않습니다. 왜냐하면 -는 산술 연산으로 해석하기 때문입니다. 내가 대신 작동하는 것 같다 0.0.1700
=
db_version로 값을 정의했는데, 어떻게이 $ DB 버전 값을 무시 그래서 그것을 어떻게 설정합니까. 모든 아티팩트에 명시 적으로 버전을 설정하지 않아도됩니다.
필자가보기에 이상적인 시나리오는 bom 파일의 속성을 간단하게 무시할 수있게하는 것입니다.
전에이 문제를 겪은 사람이 있습니까? 또는 해결 방법이 있습니까?
BOM 또는 POM을 의미합니까? –
Gradle은이 패턴을 bom이라고 부르는 것 같지만 기본적으로 의존성을 관리하기 위해 게시 된 maven pom 파일입니다. 견적 : https://gradle.org/migrating-a-maven-build-to-gradle/. ""Maven은 태그 내부의 별도 POM에서 종속성 목록을 지정할 수 있습니다.이 POM (BOM) 유형을 다른 POM으로 가져와 모든 프로젝트에서 라이브러리 이름과 버전이 일관되게 유지할 수 있습니다. "" " – csgeek
나는이 패턴이 조금 부서지기는하지만 작동하는 것처럼 보였다. – csgeek