2017-02-22 14 views
0

を使用するzip64 trueを使用すると、使用可能なjarファイルが作成されません。 Manifest.mfのファイル、構造、および場所は、動作していた以前のビルドとまったく同じですが、そのjarファイル内のメインクラスを見つけることはできません。Gradle + Spring Bootが65535を超えるファイルを持つjarを処理できない

本当の問題は、最終ビルド(テスト関連)ではsonarqubeやgatlingは必要ありませんが、AFAIKではプラグインを除外することができません。

"fatJar" -taskは、jarを作成するためのものです。

どのようなヘルプも高く評価されます。

plugins { 
    id "org.sonarqube" version "2.2.1" 
    id "com.github.lkishalmi.gatling" version "0.4.1" 
} 

// Run in terminal with "gradle sonarqube" 
sonarqube { 
    properties { 
     property "sonar.projectName", "asd" 
     property "sonar.projectKey", "org.sonarqube:java-gradle-simple" 
     property "sonar.host.url", "http://asd" 
     property "sonar.login", "asd" 
     property "sonar.password", "asd" 
    } 
} 

// Run in terminal with "gradle gatlingrun", start the application before. 
gatling { 
    logLevel 'ERROR' 
    simulations = { 
     include "**/LoginAndSync.scala" 
    } 
} 

group 'asd' 
version '1.0-SNAPSHOT' 

apply plugin: 'java' 

sourceCompatibility = 1.8 

repositories { 
    mavenCentral() 
} 

task fatJar(type: Jar) { 
    //zip64 true 
    manifest { 
     attributes 'Implementation-Title': 'Gradle Jar File Example', 
       'Implementation-Version': version, 
       'Main-Class': 'application.Asd' 
    } 
    baseName = project.name + '-all' 
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } 
    with jar 
} 

dependencies { 
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '1.4.1.RELEASE' 
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '1.4.1.RELEASE' 
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-security', version: '1.4.1.RELEASE' 
    compile group: 'org.springframework', name: 'spring-orm', version: '4.3.3.RELEASE' 
    compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.5' 
    compile group: 'com.amazonaws', name: 'aws-java-sdk', version: '1.11.80' 
    compile group: 'io.gatling.highcharts', name: 'gatling-charts-highcharts', version: '2.2.3' 

    testCompile group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '1.4.1.RELEASE' 
    testCompile group: 'com.h2database', name: 'h2', version: '1.4.193' 
    testCompile group: 'junit', name: 'junit', version: '4.12' 
    testCompile group: 'org.springframework.security', name: 'spring-security-test', version: '4.0.0.RELEASE' 
} 

これは私が得る例外です:M.Deinumへ

xecution failed for task ':fatJar'. 
> archive contains more than 65535 entries. 

    To build this archive, please enable the zip64 extension. 
    See: https://docs.gradle.org/3.3/dsl/org.gradle.api.tasks.bundling.Zip.html#org.gradle.api.tasks.bundling.Zip:zip64 
+0

あなたはスプリングブーツを使用していますなぜ自分のファットジャーを作りますか? Spring Bootプラグインを使用して、自分のfat-jarタスクを削除します。 –

+0

@ M.Deinumまた、gradleを使ってテストを実行します。すべてのドッカースクリプトで。私は確信していませんが、私はそれをコマンドラインで行うのは簡単な作業ではないと思いますか? – codepleb

+0

スプリングブートプラグインを使用することとは何が関係していますか?お勧めのように、fat jarタスクを削除して、適切なプラグインを使用してください。 –

答えて

0

おかげで、私は新しいアプローチをした:

私はbuild.gradle

plugins { 
    id 'org.springframework.boot' version '1.5.1.RELEASE' 
} 
にプラグインとしてのスプリングブートを追加しました

今すぐコンソールでgradle buildを使用して、実行可能なjarファイルを取得できるようになりました。これはb eは./build/libs/にあります。

関連する問題