我在另一篇文章中看到了Java的主要版本号列表:
- Java 1.2使用主要版本46
- Java 1.3使用主要版本47
- Java 1.4使用主要版本48
- Java 5使用主要版本49
- Java 6使用主要版本50
- Java 7使用主要版本51
- Java 8使用主要版本52
- Java 9使用主要版本53
- Java 10使用主要版本54
- Java 11使用主要版本55
参考文献:
https://blogs.oracle.com/darcy/entry/source_target_class_file_version https://en.wikipedia.org/wiki/Java_class_file#General_layout
所以 Java 9 就在那里,很快就会有 Java 10。是时候让我们的库准备好在 Java 9 项目中使用了。我是通过以下方式做到的:
到目前为止,两种方法都运行良好,我可以在 Java 9 项目中使用生成的 Jar。
问题是,生成的 Jar 与 Java 8 不兼容,尽管除了module-info.java. 当我设置时targetCompatibility = 8,一条错误消息告诉我也进行相应的设置sourceCompatibility = 8。然后拒绝module-info.java我应该设置的sourceCompatibility = 9。
如何解决这个问题?
我再次删除了拼图插件,并尝试了这个,但卡住了:
sourceCompatibility = 8和targetCompatibility = 8 moduleInfo包含单个文件的新源集module-info.javasourceCompatibility = 9并targetCompatibility = 9为新的源集现在编译工作了,Gradle 在尝试编译module-info.java. 但是,缺少模块(在本例中为 log4j),并且出现此错误:
:compileJava UP-TO-DATE
:processResources …Run Code Online (Sandbox Code Playgroud)