質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

1回答

5067閲覧

gradle build が resources の読み込みで失敗する

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2017/01/05 04:30

編集2017/01/10 00:18

KotlinアプリケーションをGradleで走らせようとしています。
ローカル環境(Windows10 Gradle3.1)では gradle build が成功するのに対し、本番サーバ(CentOS6.7 Gradle3.2.1)では失敗します。
なにをどのように修正すれば本番環境でも gradle build が成功するようになるのでしょうか?


gradle build の実行結果は以下のようになりました。

gradle build :compileKotlin e: /home/my/batch/kotlin/src/main/kotlin/net/my/kotlin/mail/Mail.kt: (84, 44): No value passed for parameter p1 e: /home/my/batch/kotlin/src/main/kotlin/net/my/kotlin/services/TmpKaiinService.kt: (29, 48): No value passed for parameter p1 :compileKotlin FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileKotlin'. > Compilation error. See log for more details * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED Total time: 2.518 secs

gradle -d build の実行結果は teratail の投稿可能文字数を超えてしまうため、 gradle_build.log としてGistに添付しました。


該当箇所のソースはどちらも val path = Paths.get(ClassLoader.getSystemResource("db/database.yaml").toURI()) のようにClassLoaderから src/main/resources 配下のファイルを読み込む処理となっています。

kotlin

1class TmpKaiinService(val target: String) { 2 val tableName: String = "tmp_kaiin" 3 val logger: Logger = LoggerFactory.getLogger(TmpKaiinService::class.java) 4 val database: Database 5 6 init { 7 val path = Paths.get(ClassLoader.getSystemResource("db/database.yaml").toURI()) 8 database = Files.newBufferedReader(path).use { 9 val mapper = ObjectMapper(YAMLFactory()) // Enable YAML parsing 10 mapper.registerModule(KotlinModule()) // Enable Kotlin support 11 mapper.readValue(it, Database::class.java) 12 } 13 }

build.gradle は以下のように記載しています。

Groovy

1group 'kotlin-test' 2version '1.0-SNAPSHOT' 3 4buildscript { 5 ext.kotlin_version = '1.0.5-2' 6 7 repositories { 8 mavenCentral() 9 } 10 dependencies { 11 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 12 } 13} 14 15apply plugin: 'kotlin' 16apply plugin: 'application' 17mainClassName = 'net.my.kotlin.AppKt' 18 19sourceCompatibility = 1.7 20targetCompatibility = 1.7 21 22sourceSets { 23 main.kotlin.srcDirs += 'src/main/kotlin' 24} 25 26repositories { 27 mavenCentral() 28} 29 30dependencies { 31 compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" 32 compile 'ch.qos.logback:logback-classic:1.1.7' 33 34 compile 'me.mattak:moment:0.0.4' 35 36 // DB Access 37 compile 'mysql:mysql-connector-java:6.0.5' 38 compile 'com.gitblit.iciql:iciql:2.1.1' 39 40 // YAML Parser 41 compile 'com.fasterxml.jackson.core:jackson-databind:2.7.1-1' 42 compile 'com.fasterxml.jackson.module:jackson-module-kotlin:2.7.1-2' 43 compile 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.7.1' 44 45 // Mail 46 compile 'org.jodd:jodd-mail:3.8.0' 47 48}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

narita_takashi

2017/01/09 14:46

ご利用されたGradleのバージョンを教えていただけますか?またコマンド実行をデバックログ出力「gradle -d build」にて実行した結果を添付頂けると有り難いです
退会済みユーザー

退会済みユーザー

2017/01/10 00:19

Gradleのバージョンを追記しました。デバッグログについてはteratailの文字数を超えてしまうためgistへのリンクを追記しました。よろしくお願いします。
guest

回答1

0

e: /home/my/batch/kotlin/src/main/kotlin/net/my/kotlin/mail/Mail.kt: (84, 44): No value passed for parameter p1 e: /home/my/batch/kotlin/src/main/kotlin/net/my/kotlin/services/TmpKaiinService.kt: (29, 48): No value passed for parameter p1

この記述からMail.ktの関数に入れているデータがnull参照になってるんじゃないでしょうか。
remote debuggingでブレイクポイントはったりprintデバッグでp1の中身がnullでないか確認してみてください。

投稿2017/02/13 01:57

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問