【问题标题】:WhatsApp4j - Api | Does not compile because class uses preview featuresWhatsApp4j - API |无法编译,因为类使用预览功能
【发布时间】:2021-11-22 18:07:29
【问题描述】:

我想试用 (https://github.com/Auties00/WhatsappWeb4j) Whatsapp4j 库, 我的毕业生:

        plugins {
        id 'java'
    }
    
    group 'de.test'
    version '1.0-SNAPSHOT'
    
    repositories {
        mavenCentral()
    }

dependencies {
    implementation 'com.github.auties00:whatsappweb4j:2.2.1'
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
}

test {
    useJUnitPlatform()
}

我只将它添加到我的 gradle 文件中,并且当我运行我的 Main.java(它只实现了这个库的一个类)时

  import it.auties.whatsapp4j.whatsapp.WhatsappAPI;
    
    public class Main {
    
        public static void main(String[] args) {
        }
    }

我收到此错误:

error: classfile for
C:\Users\User\.gradle\caches\modules-2\files-2.1\com.github.auties00\whatsappweb4j\2.2.1b3c7842cc489e3ae0cc6147c84b11ff6334671e\whatsappweb4j-2.2.1.jar(/it/auties/whatsapp4j/whatsapp/WhatsappAPI.class)
uses preview features of Java SE 16.

我尝试修复它,将我的语言级别设置为预览(我不知道预览功能是什么): 但遗憾的是,这并没有奏效。错误仍然存​​在。 我希望有人知道如何解决它。

-我使用 IntelliJ IDEA

【问题讨论】:

  • JDK 17 中的一些预览功能不再预览。尝试使用 17...
  • @30thh 那行不通,问题是 OP 使用的库,它是为 Java 16 编译的,启用了预览功能。这意味着它只能在启用了预览功能的 Java 16 上使用,而不能在任何其他 Java 版本上使用。
  • 如果您仍在运行 Java 16,您可能需要在 Gradle 构建文件中启用预览功能。例如,请参阅How to enable Java 12 preview features with Gradle?
  • 是的,谢谢!

标签: java whatsapp preview-feature


【解决方案1】:

正如@Mark Rotteveel 指出的,在 Gradle 构建文件中启用预览功能是可行的。

How to enable Java 12 preview features with Gradle?

添加这个作品。

tasks.withType(JavaCompile) {
    options.compilerArgs += "--enable-preview"
}

tasks.withType(Test) {
    jvmArgs += "--enable-preview"
}

tasks.withType(JavaExec) {
    jvmArgs += '--enable-preview'
}

【讨论】:

    猜你喜欢
    • 2019-02-13
    • 2021-10-24
    • 1970-01-01
    • 2019-09-26
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多