Собственная ошибка компиляции Quarkus: «В куче изображений запрещены экземпляры sun.security.provider.NativePRNG» - PullRequest
2 голосов
/ 29 января 2020

Я пытаюсь скомпилировать AWS проект Lambda Quarkus Native.

Компиляция прерывается при попытке добавить и использовать HTTP-клиент.

Ошибка заключается в следующем:

Error: No instances of sun.security.provider.NativePRNG are allowed in the image heap as this class should be initialized at image runtime. To see how this object got instantiated use -H:+TraceClassInitialization.
Detailed message:
Trace:  object java.security.SecureRandom
    object sun.security.ssl.SSLContextImpl$TLSContext
    object sun.security.ssl.SSLSocketFactoryImpl
    object org.apache.http.conn.ssl.SSLConnectionSocketFactory
    object java.util.concurrent.ConcurrentHashMap$Node
    object java.util.concurrent.ConcurrentHashMap$Node[]
    object java.util.concurrent.ConcurrentHashMap
    object org.apache.http.config.Registry
    object org.apache.http.impl.conn.DefaultHttpClientConnectionOperator
    object org.apache.http.impl.conn.PoolingHttpClientConnectionManager
    object org.apache.http.impl.client.HttpClientBuilder$2
    object java.lang.Object[]
    object java.util.ArrayList
    object org.apache.http.impl.client.InternalHttpClient
    method io.mirko.alexa.home.raspberry.impl.DynamoDBDeviceRepository.getAWSId(String)

Я пытался использовать OkHTTP и Apache HTTP-клиент безуспешно.

Я также попробовал опцию --initialize-at-run-time, без соответствующих результатов с любым из следующих классов:

  1. io.mirko.alexa.home .raspberry.impl.DynamoDBDeviceRepository_ClientProxy
  2. io.mirko.alexa.home.raspberry.impl.DynamoDBDeviceRepository
  3. org. apache .http.impl.client
  4. * 10 * .security.SecureRandom
  5. org. apache .http.impl.client.InternalHttpClient
  6. sun.security.provider.NativePRNG

У меня нет ограничений на каком HTTP-клиенте использовать. Просто использовать его в Quarkus Native было бы более чем достаточно.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...