FirestoreException - Не удалось найти поставщика TLS ALPN - нет работающего netty-tcnative - PullRequest
2 голосов
/ 08 апреля 2019

У меня есть настольное приложение на Java / Kotlin с подключением Firebase (в частности, Firestore в реальном времени).

Он нормально работает в моем ноутбуке (Windows через Parallels) и в некоторых других протестированных Windows. Но в некоторых штуках я всегда получаю ошибку:

com.google.cloud.firestore.FirestoreException: java.lang.IllegalStateException: Could not find TLS ALPN provider; no working netty tcnative, Conscrypt, or Jetty NPN/ALPN available.

Я попробовал несколько вариантов создания баночки, и ничего мне не помогло.

Это мое текущее соединение build.gradle:

plugins {
    id 'java'
    id 'org.jetbrains.kotlin.jvm' version '1.3.21'
}

jar {
    manifest {
        attributes 'Main-Class': 'main.LoginActivity'
    }
}

// java -cp Y:\Desktop\nwebprint\out\artifacts\nwebprint_main_jar\nwebprint.main.jar main.LoginActivity

group 'nwebprint'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

version = '1.0'
sourceCompatibility = 1.7
targetCompatibility = 1.7

//create a single Jar with all dependencies
task fatJar(type: Jar) {
    manifest {
        attributes 'Implementation-Title': 'Notary Web Service',
                'Implementation-Version': version,
                'Main-Class': 'main.LoginActivity'
    }
    baseName = project.name + '-all'
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    with jar
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
    testCompile group: 'junit', name: 'junit', version: '4.12'

    compile ('com.google.firebase:firebase-admin:6.8.0') {
        exclude( group: 'com.google.guava')
    }

    compile 'com.google.guava:guava:20.0'

    // compile 'io.grpc:grpc-netty-shaded'
}

compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

Все говорили, что для добавления библиотек мое приложение отлично работает в Netbeans, когда запускается через IDE ... но когда я компилирую через Launch4J для создания .EXE-файла, оно продолжало выдавать это исключение ... Я предоставлял свой собственный JRE / JDK в .EXE-оболочку ..

Я читаю и читаю ... где-то был кто-то, говорящий обновить Java ... У меня была Java 1.8, но она была с января 2018 года или что-то старое подобное ... Я обновил до последней версии Java 1.8 JDK для того, что я поставляю своему приложение в форме .EXE-обертки, и Walla .. это работает! нет исключений Tcnative TLS из Firestore!

Надеюсь, это поможет!

0 голосов
/ 30 апреля 2019

У меня была такая же проблема с Firebase-Firestore (в приложении на сервере Java, без Android), и она была связана с версией Java.

Я использовал openjdk 8u191-jre-alpine3.9, и это было исправлено после перехода на openjdk 13-ea-16-jdk-alpine3.9.

P.D: при поиске в Google я нашел несколько записей о добавлении некоторых зависимостей для grpc, netty и т. Д., Но у меня они не сработали.

...