2017-07-18 10 views
-1

で、他のプロジェクトに追加します2つのスプリングブーツ挙外部依存関係を作成して、私が持っているのGradle

AとB

が共通の事

Bを入れて新しい案を作成したいです

コモンズ外部依存関係のようにAとBにコモンズを追加する方法を

+0

を持っているが、あなたは、単にコモンズから成果物を生成し、ネクサスにプッシュすることができ、その後、AとB – chenrui

答えて

1

以下のようにプロジェクトのレイアウトを想定します

project 
|- common 
|- proja 
|- projb 
  1. あなたは、あなたがこのようなprojectの下であなたのbuild.gradleを更新する必要がありsettings.gradle

    rootProject.name = 'project' 
    include 'common' 
    include 'proja' 
    include 'projb' 
    
  2. が必要になります。

    plugins { 
        id 'org.springframework.boot' version '1.5.4.RELEASE' 
    } 
    
    subprojects { // common configurations for all subprojects 
        apply plugin: 'groovy' 
        apply plugin: 'org.springframework.boot' 
    
        repositories { 
         jcenter() 
        } 
    
        dependencies { // common dependencies for all subprojects 
         compile 'org.codehaus.groovy:groovy-all:2.4.10' 
    
         testCompile 'org.springframework.boot:spring-boot-starter-test' 
         testCompile 'org.spockframework:spock-spring:1.0-groovy-2.4' 
        } 
    } 
    
    project ("proja") { 
        dependencies { // proja-specific dependencies 
         compile 'com.google.guava:guava:21.0' 
         compile project(":common") 
        } 
    
    } 
    
    project ("projb") { 
        dependencies { // projb-specific dependencies 
    
         compile project(":common") 
        } 
    } 
    

これが動作するかどうかを教えてください。

+0

への依存度を引く私が言っ外部...ドン」 tはルートを持っています –

+0

@roberttrudel複合ビルド、git-subdmoulesを考えていますか? – chenrui

+0

私が提供したチェックソリューション –

0

外液は

私のコモンズを移動するための方法は、私のメインのプロジェクトで

apply plugin: 'java-library-distribution' 

repositories { 
    mavenCentral() 
    maven { url "https://repo.spring.io/snapshot" } 
    maven { url "https://repo.spring.io/milestone" } 
} 

dependencies { 
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '2.0.0.M2' 
} 

distributions { 
    main{ 
     baseName = 'commons-code' 
    } 
} 

sourceCompatibility = 1.8 
targetCompatibility = 1.8 


tasks.withType(JavaCompile) { 
    options.compilerArgs = ["-Xlint:unchecked", "-Xlint:deprecation", "-parameters"] 
} 

ファイルbuild.gradle私は依存関係セクションにbuild.gradle

を持っているようです私は

compile project (':commons-code') 

とsettings.gradleファイルに私は多分

include ":commons-code" 
project(":commons-code").projectDir = file("/home/bob/dev/project/commons/") 
+0

私は主な違いは、相対ファイルパスの代わりに絶対ファイルパスを使用していると思いますか?私が間違っているなら、私を訂正してください。 – chenrui

関連する問題