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

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

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

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

Gradle

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

Q&A

解決済

1回答

2709閲覧

Gradleでjavadoc.jarを生成したい

r-fujiyama

総合スコア14

Java

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

Gradle

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

0グッド

0クリップ

投稿2019/08/22 12:44

編集2019/08/22 13:31

実現したいこと

javadoc.jarを生成したい

問題

gradle build実行時にエラー: この文字(0x84)は、エンコーディングwindows-31jにマップできませんが発生します。
task javadocJarを削除すれば問題なくgradle buildが実行されますが、
javadoc.jarを生成したいので、削除するわけにはいきません。

該当のソースコード・ログ

gradle

1buildscript { 2 ext { 3 jackson = '2.9.9' 4 slf4j = '1.7.28' 5 lombok = '1.18.8' 6 assertj = '3.13.2' 7 junit = '5.5.1' 8 } 9} 10 11def defaultEncoding = 'UTF-8' 12 13apply plugin: 'java' 14apply plugin: 'eclipse' 15apply plugin: 'idea' 16 17sourceCompatibility = JavaVersion.VERSION_11 18targetCompatibility = JavaVersion.VERSION_11 19 20repositories { 21 mavenCentral() 22} 23 24wrapper { 25 gradleVersion = '5.6' 26} 27 28tasks.withType(JavaCompile) { 29 options.encoding = defaultEncoding 30} 31 32task sourcesJar(type: Jar, dependsOn: classes) { 33 archiveClassifier.set('sources') 34 from sourceSets.main.allSource 35} 36 37task javadocJar(type: Jar, dependsOn: javadoc) { 38 archiveClassifier.set('javadoc') 39 from javadoc.destinationDir 40} 41 42artifacts { 43 archives sourcesJar 44 archives javadocJar 45} 46 47test { 48 useJUnitPlatform { 49 includeEngines 'junit-jupiter' 50 } 51} 52 53task javadoc(type: Javadoc, overwrite: true) { 54 source = sourceSets.main.allJava 55 options.links('https://docs.oracle.com/javase/jp/11/docs/api/') 56 options.memberLevel = JavadocMemberLevel.PRIVATE 57 destinationDir = new File("$projectDir" + '/docs') 58 options.charSet = defaultEncoding 59 options.encoding = defaultEncoding 60} 61 62dependencies { 63 implementation "com.fasterxml.jackson.core:jackson-databind:${jackson}" 64 implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${jackson}" 65 implementation "org.slf4j:slf4j-simple:${slf4j}" 66 annotationProcessor "org.projectlombok:lombok:${lombok}" 67 compileOnly "org.projectlombok:lombok:${lombok}" 68 testAnnotationProcessor "org.projectlombok:lombok:${lombok}" 69 testImplementation "org.projectlombok:lombok:${lombok}" 70 testImplementation "org.assertj:assertj-core:${assertj}" 71 testImplementation "org.junit.jupiter:junit-jupiter-api:${junit}" 72 testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junit}" 73}

エラー詳細。

FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':javadoc'. > Javadoc generation failed. Generated Javadoc options file (useful for troubleshooting): 'C:\develop\project\example\build\tmp\javadoc\javadoc.options' * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 2s 4 actionable tasks: 1 executed, 3 up-to-date

トレースログ(文字数制限のため一部省略)

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':javadoc'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:166) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:163) at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:191) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:156) Caused by: org.gradle.api.GradleException: Javadoc generation failed. Generated Javadoc options file (useful for troubleshooting): 'C:\develop\project\example\build\tmp\javadoc\javadoc.options' at org.gradle.api.tasks.javadoc.internal.JavadocGenerator.execute(JavadocGenerator.java:58) at org.gradle.api.tasks.javadoc.internal.JavadocGenerator.execute(JavadocGenerator.java:31) at org.gradle.api.tasks.javadoc.Javadoc.executeExternalJavadoc(Javadoc.java:158) at org.gradle.api.tasks.javadoc.Javadoc.generate(Javadoc.java:146) ... 34 more Caused by: org.gradle.process.internal.ExecException: Process 'command 'C:\develop\java\jdk-11.0.2\bin\javadoc.exe'' finished with non-zero exit value 1 at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:409) at org.gradle.process.internal.DefaultExecAction.execute(DefaultExecAction.java:38) at org.gradle.api.tasks.javadoc.internal.JavadocGenerator.execute(JavadocGenerator.java:53) ... 94 more

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

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

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

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

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

guest

回答1

0

自己解決

build.gradleでエンコーディングを指定することを諦めました。
環境変数にJAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8を追加し対応しました。

投稿2019/08/23 17:30

編集2019/08/23 17:31
r-fujiyama

総合スコア14

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問