gpt4 book ai didi

java - 无法创建 Java 9 jar

转载 作者:行者123 更新时间:2023-11-30 06:47:18 24 4
gpt4 key购买 nike

如果我运行命令 jar --create --release 9 -C com.java.mrjar.nine\build\classes . 我有错误

entry: META-INF/versions/9/com/java/mrjar/nine/Main.class, contains a new public class not found in base entries
entry: META-INF/versions/9/com/java/mrjar/nine/TimeUt.class, contains a new public class not found in base entries
invalid multi-release jar file mrjars\com.java.mrjar.jar deleted

这些是 Main 和 TimeUt 类:

package com.java.mrjar.nine;
import java.time.Instant;
public class Main {
public static void main(String[] args) {
System.out.println("Inside jdk9 Main.main()...");
TimeUt t = new TimeUt();
System.out.println("Local Date: "+t.getLocalDate(Instant.now()));
}
}

package com.java.mrjar.nine;
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
public class TimeUt {
public TimeUt() {
System.out.println("creating jdk9 version of TimeUt");
}
public LocalDate getLocalDate(Instant now){
return LocalDate.ofInstant(now, ZoneId.systemDefault());
}
}

我可以在不添加 --release 9 的情况下正常创建 jar,但它是一个普通的 jar,它没有 versions>9 数据。

最佳答案

问题中的 jar 命令试图创建一个 MR JAR,而 base 部分中没有任何类,而是试图将所有类(包括公共(public)/API 类)放在一个版本部分。如果您只是想创建一个 JAR 文件,请删除 --release 选项。如果您真的想创建一个 MR JAR,那么您应该将公共(public)/API 类放在基础部分,然后将 9 个特定类放在版本部分。 JEP 238 包含有关此帮助的所有详细信息,jar --help 输出也有一些示例。

关于java - 无法创建 Java 9 jar ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46173594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com