Il mio progetto Java 7 sta andando bene in Gradle anche se dipende da java.util.Optional
.Opzionale in Java 1.7? Grado Ignorando la compatibilità sorgente/destinazione?
Sono molto, molto confuso. java.util.Optional
era solo una cosa in Java 8, giusto?
Ho un progetto Gradle e ho impostato sia sourceCompatibility
sia a 1.7
.
In una classe in questo modulo ho importare java.util.Optional
, che ho pensato non è stato incluso fino Java 8.
Se corro gradlew clean assemble
, il compilatore viene chiamato anche con le opzioni giuste. C'è un avvertimento che suona un po 'strano. Tuttavia, il barattolo viene creato bene.
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
Sto impazzendo?
"[ERRORE] avviso [system.err]: [opzioni] percorso classe bootstrap non impostato insieme a -source 1.7" significa che il compilatore imporrà la sintassi Java 7 ma non può garantire che si utilizzino solo le classi disponibili in Java 7. –
Grazie Oleg - è che "può garantire" che significa "non può garantire"? –
possibile duplicato di [Avviso gradle compileJava task: \ [opzioni \] percorso classe bootstrap non impostato insieme a -source 1.6] (http://stackoverflow.com/questions/16679593/gradle-compilejava-task-warning-options- bootstrap-class-path-not-set-in-conju), anche [avviso: [opzioni] percorso classe bootstrap non impostato in congiunzione con -source 1.5] (https://stackoverflow.com/questions/7816423/warning-options -bootstrap-class-path-not-set-in-combination-with-source-1-5? rq = 1) –