相关疑难解决方法(0)

Java类文件格式主要版本号列表?

我在另一篇文章中看到了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 version

144
推荐指数
4
解决办法
9万
查看次数

Gradle:构建与 Java 8 兼容的模块化库

所以 Java 9 就在那里,很快就会有 Java 10。是时候让我们的库准备好在 Java 9 项目中使用了。我是通过以下方式做到的:

  1. 提供一个模块信息.java
  2. 添加的(实验)拼图插件build.gradle
  3. 根据gradle 站点上的指南手动进行更改,而不是使用 jigsaw 插件。

到目前为止,两种方法都运行良好,我可以在 Java 9 项目中使用生成的 Jar。

问题是,生成的 Jar 与 Java 8 不兼容,尽管除了module-info.java. 当我设置时targetCompatibility = 8,一条错误消息告诉我也进行相应的设置sourceCompatibility = 8。然后拒绝module-info.java我应该设置的sourceCompatibility = 9

如何解决这个问题?

我再次删除了拼图插件,并尝试了这个,但卡住了:

  1. 设置sourceCompatibility = 8targetCompatibility = 8
  2. 创建一个moduleInfo包含单个文件的新源集module-info.java
  3. 设置sourceCompatibility = 9targetCompatibility = 9为新的源集

现在编译工作了,Gradle 在尝试编译module-info.java. 但是,缺少模块(在本例中为 log4j),并且出现此错误:

:compileJava UP-TO-DATE
:processResources …
Run Code Online (Sandbox Code Playgroud)

java gradle java-platform-module-system build.gradle java-9

6
推荐指数
2
解决办法
1310
查看次数