Cập nhật chung, sau khi một số nghiên cứu
Tôi muốn xây dựng dự án của tôi chạy gradle 2.0
với gradle build
trong giao diện điều khiển tôi bị mắc kẹt tại thế hệ javadoc. Tôi đang sử dụng Java 8, precisly jdk1.8.0_66
và jre1.8.0_66
. Bây giờ khi tôi muốn xây dựng dự án của tôi gõ gradle build
trong PowerShell tôi nhận được lỗi này:Disable tất cả javadoc trong Gradle
5 errors
10 warnings
:my-subproject1:javadoc FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':my-subproject1:javadoc'.
> Javadoc generation failed.
Một lỗi mẫu và một cảnh báo mẫu:
C:\some\long\path\MyClass.java:37: error: @param name not found
* @param appCode
^
C:\some\long\path\MyOtherClass.java:37: warning: no description for @param
* @param appCode
Nếu tôi vô hiệu hóa một trong những tiểu dự án của tôi sử dụng tasks.findByPath(":my-subproject:javadoc").enabled = false
trong tập tin build.gradle
của tôi cũng nhận được lỗi tương tự cho tiểu dự án tiếp theo.
Nghiên cứu đã chỉ ra rằng tôi không đơn độc với vấn đề của tôi; Java 8 dường như thực sự nghiêm ngặt với JavaDoc. Điều này là do doclint for Javadoc
mới. Tìm thấy trên this site. Nó cũng cung cấp một giải pháp cho Maven và Gradle. Nhưng đối với tôi nó không hoạt động, một answer I got khác cũng không hoạt động. nỗ lực của tôi để giải quyết nó trông như thế này ngay bây giờ trong build.gradle
tôi cho tiểu dự án này:
//Solution by the second link
allprojects {
tasks.withType(Javadoc).all { enabled = false }
}
//Solution by the first link
if (JavaVersion.current().isJava8Compatible()) {
allprojects {
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
}
}
}
dependencies{
compile project(':my-subproject1')
compile project(':my-subproject2')
compile project(':my-subproject3')
}
Có ai biết làm thế nào để giải quyết vấn đề này hoặc là có cách giải quyết khác?
Edit:
C:. | Root
├───build.gradle
│ └───2.0
│ └───taskArtifacts
├───buildSrc
│ ├───.gradle
│ │ ├───2.0
│ │ │ └───taskArtifacts
│ │ └───noVersion
│ │ └───buildSrc
│ ├───build
│ │ ├───classes
│ │ │ └───main
│ │ ├───dependency-cache
│ │ ├───libs
│ │ └───tmp
│ └───src
│ └───main
│ └───java
│ └───com
│ └───custom
│ └───gradle
│ └───util
├───my-subproject1
├───my-subproject2
├───my-subproject3
│ ├───my-sub-subproject
│ ├───my-current-directory | Magic happens here
│ │ ├───some.package.identifier
│ │ │ ├───.clover
│ │ │ ├───.settings
│ │ │ ├───bin
│ │ │ │ └───package
│ │ │ │ └───subpackage
│ │ │ └───buil.gradle | This should build my subproject
Giải pháp: Đặt nó trong thư mục gốc build.gradle
tập tin.
Vâng đó là loại một tiểu dự án mà tôi nên xây dựng mà không có sự nghỉ ngơi, tôi chỉ có phụ thuộc vào giống nhau mức độ, nhưng gợi ý cho đến nay không phải là xấu :) –
ngay cả khi thay đổi 'tiểu dự án' ->' allprojects' nó không hoạt động ... –
Hm, bạn có thể cung cấp một ví dụ về cấu trúc dự án của bạn, với vị trí của thư mục roo, tệp settings.gradle và một số tệp build.gradle? 'subprojects' nên được sử dụng trong script build.gradle gốc – Stanislav