Dự án Java 7 của tôi đang xây dựng tốt ở Gradle mặc dù nó phụ thuộc vào java.util.Optional
.Tùy chọn trong Java 1.7? Gradle bỏ qua nguồn/mục tiêu tương thích?
Tôi rất, rất bối rối. java.util.Optional
chỉ là một điều trong Java 8, phải không?
Tôi có dự án Gradle và tôi đã đặt cả hai sourceCompatibility
và targetCompatibility
thành 1.7
.
Trong một lớp trong mô-đun này, tôi nhập java.util.Optional
, mà tôi nghĩ không được đưa đến Java 8.
Nếu tôi chạy gradlew clean assemble
, trình biên dịch thậm chí được gọi với các tùy chọn đúng. Có một cảnh báo rằng âm thanh một chút fishy mặc dù. Tuy nhiên, lọ được xây dựng tốt.
15:51:12.998 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter] Executing actions for task ':core:compileJava'.
15:51:13.000 [DEBUG] [org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler] Compiler arguments: -source 1.7 -target 1.7 -d /Users/deejay/workspace/number-jumble/core/build/classes/main -g -encoding UTF-8 -classpath /Users/deejay/workspace/number-jumble/model/build/libs/model-1.0.jar:/Users/deejay/.gradle/caches/modules-2/files-2.1/com.badlogicgames.gdx/gdx/1.3.1/18995f8b7b19118975722370818023c76a86fdf4/gdx-1.3.1.jar:/Users/deejay/.gradle/caches/modules-2/files-2.1/com.badlogicgames.gdx/gdx-freetype/1.3.1/1f647429753c8c91fb8fc477ffe5a4c9cde2f429/gdx-freetype-1.3.1.jar:/Users/deejay/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/18.0/cce0823396aa693798f8882e64213b1772032b09/guava-18.0.jar /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/NumberJumbleGame.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/complexity/ChangeComplexityScreen.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/libgdx/SizeToAndLayoutAction.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/libgdx/TimeLabel.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/services/AppropriatelySizedFontService.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/services/DateService.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/session/GameSessionUi.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/session/HardcodedStreakAssessmentService.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/session/LandscapeGameSessionUi.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/session/PortraitGameSessionUi.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/session/RackScreen.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/session/RackSummaryScreen.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/session/StreakAssessmentService.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/splash/ReturnSplashScreen.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/stats/GdxLocalStatisticsRepository.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/stats/MapBackedStatisticsRepository.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/stats/StatisticsRepository.java /Users/deejay/workspace/number-jumble/core/src/main/java/com/binarytweed/numberjumble/stats/StatisticsService.java
15:51:13.001 [INFO] [org.gradle.api.internal.tasks.compile.jdk6.Jdk6JavaCompiler] Compiling with JDK Java compiler API.
15:51:13.007 [ERROR] [system.err] warning: [options] bootstrap class path not set in conjunction with -source 1.7
15:51:13.185 [ERROR] [system.err] 1 warning
Tôi có phát điên không?
"[ERROR] [system.err] cảnh báo: [tùy chọn] đường dẫn lớp khởi động không được đặt cùng với nguồn 1.7" có nghĩa là trình biên dịch sẽ thực thi cú pháp Java 7 nhưng không thể đảm bảo rằng bạn chỉ sử dụng các lớp có sẵn trong Java 7. –
Cảm ơn Oleg - là "có thể đảm bảo" có nghĩa là "không thể đảm bảo"? –
có thể trùng lặp với [cảnh báo tác vụ Gradle compileJava: \ [tùy chọn \] đường dẫn lớp khởi động không được đặt cùng với nguồn 1.6] (http://stackoverflow.com/questions/16679593/gradle-compilejava-task-warning-options- bootstrap-class-path-not-set-in-conju), cũng [cảnh báo: [tùy chọn] đường dẫn lớp bootstrap không được thiết lập kết hợp với -source 1.5] (https://stackoverflow.com/questions/7816423/warning-options -bootstrap-class-path-not-set-in-kết hợp-với-source-1-5? rq = 1) –