Groovy JsonBuilder ошибка загрузки классов в Wildfly-Camel 12 - PullRequest
0 голосов
/ 22 мая 2018

Я вызываю JsonBuilder.toString () в коде Groovy внутри маршрута Camel.Этот верблюжий маршрут проходит внутри Widlfly Camel 12.0.Код выглядит так:

def builder = new JsonBuilder()
builder {
'myField': myFieldVal
}
return builder.toString()

При вызове метода builder.toString () выдается следующая ошибка:

Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
groovy.json.internal.FastStringUtils

Но у меня есть зависимости, упомянутые в pom.xml должным образом, какИтак:

<dependency>
 <groupId>org.apache.camel</groupId>
 <artifactId>camel-groovy</artifactId>
 <scope>provided</scope>
</dependency>

Я также попытался добавить эту дополнительную зависимость для решения проблемы:

<dependency>
 <groupId>org.codehaus.groovy</groupId>
 <artifactId>groovy-json</artifactId>       
 <version>2.4.13</version>
</dependency>

Но я все еще продолжаю получать указанное выше исключение.Однако, когда я запускаю тот же код Camel, используя camel-maven-plugin, без развертывания его внутри Wildfly, он работает отлично.

Может кто-нибудь помочь, пожалуйста?

Заранее спасибо.

1 Ответ

0 голосов
/ 22 мая 2018

Мне кажется, проблема в том, что модуль org.apache.camel.script.groovy не может получить доступ к sun.misc.Unsafe.Поэтому я добавил следующую зависимость модуля к modules/system/layers/fuse/org/apache/camel/script/groovy/main/module.xml.

<module name="sun.jdk">
  <imports>
    <include path="sun/misc/Unsafe"/>
  </imports>
</module>

Ваш пример сработал для меня впоследствии.

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