2017-07-16 8 views
0

私はspringで提供されているチュートリアルに従っており、なぜ私の.warファイルが空であるのか分からないようです。コードを表示/ダウンロードするにはhereをクリックしてください。最終目標はこのファイルをダウンロードし、.warファイルを作成してtomcatサーバーに展開することです。スプリングブートアプリケーションのためのwarを生成する

を「戦争を」が、これは唯一のゼロクラスファイルが含まれている戦争を生成します。私はbuild.gradleに以下を追加しました

は、プラグインを適用します。

チュートリアルコードの場合

build.gradle

buildscript { 
repositories { 
    mavenCentral() 
} 
dependencies { 
    classpath("org.springframework.boot:spring-boot-gradle 
plugin:1.5.3.RELEASE") 
} 
} 

apply plugin: 'java' 
apply plugin: 'eclipse' 
apply plugin: 'war' 
apply plugin: 'idea' 
apply plugin: 'org.springframework.boot' 

jar { 
    baseName = 'gs-spring-boot' 
    version = '0.1.0' 
} 

repositories { 
    mavenCentral() 
} 

sourceCompatibility = 1.8 
targetCompatibility = 1.8 

dependencies { 
    compile("org.springframework.boot:spring-boot-starter-web") 
    // tag::actuator[] 
    compile("org.springframework.boot:spring-boot-starter-actuator") 
    // end::actuator[] 
    // tag::tests[] 
    testCompile("org.springframework.boot:spring-boot-starter-test") 
    // end::tests[] 
} 
+0

はあなたにもjarファイルベース名を持つブロック(およびバージョンの名前を変更しようとした持っています)戦争に? – dunni

+0

はい、違いはありません – Jim

答えて

2

、あなたは二つのことを行う必要があります梱包spring-boot refため

  1. 戦争プラグイン:

    apply plugin: 'war' 
    
    war { 
        baseName = 'gs-spring-boot' 
        version = '0.1.0' 
    }  
    
  2. 、展開を作成します。戦争ファイルspring-boot ref

    @SpringBootApplication 
    public class Application extends SpringBootServletInitializer { 
    
        @Override 
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 
         return application.sources(Application.class); 
        } 
    

も提供されるTomcatの依存関係を指定します。ここでは

dependencies { 
    // … 
    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' 
    // … 
} 

は私commit referenceと結果である: result

+0

ありがとうございました!私はそれにランタイムを提供しようとしましたが、私はSpringBootServletInitializerを拡張することを知らなかった。 – Jim

関連する問題