日々精進

新しく学んだことを書き留めていきます

gradleでzipを作る時にinto('./')とするとwindowsで解凍できなくなる

gradleのear pluginは複数プロジェクト構成にしないと使えなさそうなので自分でearファイルを作ることにした。 earファイルの中は以下のような構造にすればいい。

./name.war ./META-INF/application.xml ./META-INF/MANIFEST.MF

以下のようにearタスクを作ってearファイルを作った結果、macでは普通に解凍できるがwindowsで解凍できなかった。

task ear(type: Zip, dependsOn: war) {
    ....
    into('./META-INF') {
        from 'config/META-INF/application.xml', 'config/META-INF/MANIFEST.MF'
    }
}

原因は'./META-INF'の頭のドットで、これを削除すると解凍出来るようになった。以下のような感じ。

task ear(type: Zip, dependsOn: war) {
    ....
    into('/META-INF') {
        from 'config/META-INF/application.xml', 'config/META-INF/MANIFEST.MF'
    }
}

これはわからん。。