Класс выдачи ошибки 0 IBM JDK {0} уже сплетен и не был построен в режиме переиздания [Xlint: nonReweavableTypeEncountered] - PullRequest
0 голосов
/ 08 апреля 2019

У нас мало аспектов, классы Aspect определены с помощью @Aspect и объявлены в METAINFO / aop.xml в том же аспекте:

aop.xml

<aspectj>
    <weaver options="-Xset:weaveJavaxPackages=true">
       <include within = "Test"/>
    </weaver>
    <aspects>
        <aspect name = "Test"/>
 </aspects>
</aspectj>

Ниже выдается ошибка только в среде IBM JDK с WebSphere.

Исключение:

Ошибка в Test.java::0: класс {0} уже сплетен и не был встроенный в режиме reweavable [Xlint: nonReweavableTypeEncountered]


Тот же код работает с комбинацией стека Tomcat + Oracle JDK.

1 Ответ

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

Согласно конфигурации AspectJ.

Aspect не требует добавления его в тег Weaver, что приводило к ошибке в SystemOut.log WAS.

<aspectj>
    <weaver options="-Xset:weaveJavaxPackages=true">
      // add only actual classes to be woven.
    </weaver>
    <aspects>
        <aspect name = "Test"/>
 </aspects>
</aspectj>

Файл aop.xml содержит два ключевых раздела: «аспекты» определяет один или несколько аспектов для ткача и контролирует, какие аспекты должны использоваться в процессе ткачества;«ткач» определяет параметры ткача и какие типы должны быть сотканы.

https://www.eclipse.org/aspectj/doc/next/devguide/ltw-configuration.html

...