Проблемы ClassLoader: адаптер ресурсов JCA GemFire ​​в IBM WebSphere LibertyBase - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь настроить адаптер ресурсов JCA для Gemfire 9.8 на базе IBM WebSphere Liberty, перейдя по ссылке https://gemfire.docs.pivotal.io/98/geode/reference/archive_transactions/JTA_transactions.html#concept_cp1_zx1_wk

Вот мой ра. xml:

<connector xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
version="1.5">

<display-name>GFE JCA Adaptor</display-name>
<vendor-name></vendor-name>
<spec-version>1.5</spec-version>
<eis-type>GFE JCA</eis-type>
<version>1.5</version>
<resourceadapter>
    <config-property>
        <config-property-name>ProductName</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>GemFire</config-property-value>
    </config-property>
    <config-property>
        <config-property-name>UserName</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value/>
    </config-property>
    <config-property>
        <config-property-name>Version</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>8.0</config-property-value>
    </config-property>

    <outbound-resourceadapter>
        <connection-definition>
            <managedconnectionfactory-class>org.apache.geode.internal.ra.spi.JCAManagedConnectionFactory</managedconnectionfactory-class>
            <connectionfactory-interface>org.apache.geode.ra.GFConnectionFactory</connectionfactory-interface>
            <connectionfactory-impl-class>org.apache.geode.internal.ra.GFConnectionFactoryImpl</connectionfactory-impl-class>
            <connection-interface>org.apache.geode.ra.GFConnection</connection-interface>
            <connection-impl-class>org.apache.geode.internal.ra.GFConnectionImpl</connection-impl-class>
            <transaction-support>LocalTransaction</transaction-support>
            <reauthentication-support>false</reauthentication-support>
        </connection-definition>
    </outbound-resourceadapter>
</resourceadapter>

А вот мой параметр адаптера ресурса:

<library id="gemfireRaLib" apiTypeVisibility="spec, ibm-api, stable, third-party, api">
  <fileset dir="path/to/geode-lib" includes="geode-dependencies.jar"/>
</library> 

<resourceAdapter id="gemfireJCA" location="/path/to/geode-lib/geode-jca-9.8.3.rar">
    <classloader apiTypeVisibility="spec, ibm-api, stable, third-party, api" commonLibraryRef="gemfireRaLib" delegation="parentFirst"/>
</resourceAdapter>

Когда я запускаю свой сервер свободы, инициализация весенней загрузки завершается неудачно, говоря ClassNotFoundException org. apache. geode.ra.GFConnectionFactory не найден.

Затем я помещаю все зависимости geode в общую библиотеку:

<library id="gemfireRaLib" apiTypeVisibility="spec, ibm-api, stable, third-party, api">
  <fileset dir="/path/to/geode-lib" includes="geode-dependencies.jar"/>
  <fileset dir="/path/to/geode-lib" includes="*.jar"/>
</library> 

<resourceAdapter id="gemfireJCA" location="/path/to/geode-jca-9.8.3.rar">
    <classloader apiTypeVisibility="spec, ibm-api, stable, third-party, api" commonLibraryRef="gemfireRaLib" delegation="parentFirst"/>
</resourceAdapter>

и

<webApplication contextRoot="apprRoot13" location="/path/to/mylocation.war" name="App13" id="App13">
    <classloader apiTypeVisibility="spec, ibm-api, stable, third-party, api" commonProviderRef="gemfireRaLib" delegation="parentFirst" />
</webApplication>

Ошибка:

spring-data-gemfire initialization fails:
AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [applicationContext-gemfire.xml]; nested exception is java.lang.NoClassDefFoundError: org.apache.geode.cache.PartitionResolver

Во всех описанных выше сценариях я успешно установил адаптер gemfireJCA.

Обновление 1

/ path / to / shared / geode-lib / содержит следующие jar-файлы:

geode-common-9.8.3.jar geode-cq-9.8.3.jar geode-jca-9.8.3.rar geode-management-9.8.3.jar geode-core-9.8.3.jar geode-dependencies.jar geode-lucene-9.8.3.jar geode-wan-9.8.3.jar

Когда я упаковываю их в WAR, приложение загружается, но происходит сбой при

lookup = (GFConnectionFactory) template.lookup("gfe/jca");

, говоря:

java.lang.ClassCastException: org.apache.geode.internal.ra.GFConnectionFactoryImpl incompatible with org.apache.geode.ra.GFConnectionFactory

Я получаю java .lang.ClassCastException: org. apache .geode.internal.ra.GFConnectionFactoryImpl несовместимо с org. apache .geode.ra.GFConn ectionFactory, потому что GFConnectionFactoryImpl и GFConnectionFactory загружаются разными загрузчиками классов. Вот почему я создал общую библиотеку geode-lib. Совместное использование между адаптером ресурсов JCA и веб-приложением

Ответы [ 3 ]

0 голосов
/ 01 апреля 2020

Как было предложено в комментарии alasdair к сообщению, ссылка на ваш загрузчик классов приложения не указывает на правильную вещь. В вашем фрагменте он указывает на общую библиотеку, а не на адаптер ресурса:

<webApplication contextRoot="apprRoot13" location="/path/to/mylocation.war" name="App13" id="App13">
    <classloader ... commonProviderRef="gemfireRaLib" ... />
</webApplication>

вместо этого укажите его на адаптер ресурса:

<webApplication contextRoot="apprRoot13" location="/path/to/mylocation.war" name="App13" id="App13">
    <classloader ... commonProviderRef="gemfireJCA" ... />
</webApplication>

Обновление 1: коллега указал у меня была опечатка в моем фрагменте, позвольте мне попробовать еще раз. Предполагая:

  1. вы сбросили весь материал geode в общую библиотеку

  2. RA должен получить доступ к классам geode

  3. вашему приложению необходим доступ к классам геоданных

вот каков ваш сервер. xml должен выглядеть так:

<resourceAdapter id="gemfireJCA" location="/path/to/geode-lib/geode-jca-9.8.3.rar">
    <classloader commonLibraryRef="gemfireRaLib" />
</resourceAdapter>
<library id="gemfireRaLib">
  <fileset dir="/path/to/geode-lib" includes="*.jar"/>
</library>
<webApplication contextRoot="apprRoot13" location="/path/to/mylocation.war" name="App13" id="App13">
    <classloader commonLibraryRef="gemfireRaLib"  />
</webApplication>

Обратите внимание, что я избавился от apiTypeVisibility и делегирование на данный момент, обычно значения по умолчанию верны.

0 голосов
/ 05 апреля 2020

Большое спасибо за ваш ответ. Вот root причина проблемы.

  • В Liberty нет SingleClassloader для каждой политики приложения. Загрузчик классов адаптера ресурсов JCA отличается и WebApplication отличается.
  • Следовательно, geode - *. Jar загружается двумя различными загрузчиками классов.
  • GFConnectionFactory предоставляется gemfireJCA RA отличается от приложения. Следовательно, невозможно «преобразовать класс» GFConnectionFactory, загруженный загрузчиком классов JCA, в загрузчик классов приложения.

Чтобы решить эту проблему, я могу воспользоваться любым из следующих решений:

Решение 1:

Разверните GemfireJCA и WAR в одном EAR. Упакуйте geode-jca.rar вместе с geode - *. Jar и geode-dependencies.jar в качестве общей библиотеки и WAR.

Обратите внимание: эти geode - *. Jar не должны находиться в WEB-INF / lib ВОЙНЫ. Вот дерево EAR: App13.ear: | |--gemfire-jca-9.8.3.rar |--WebApp13.war(Without geode-*.jar) |--lib | |--geode-common-9.8.3.jar | |--geode-cq-9.8.3.jar | |--geode-management-9.8.3.jar | |--geode-core-9.8.3.jar | |--geode-dependencies.jar | |--geode-lucene-9.8.3.jar | |--geode-wan-9.8.3.jar |--META-INF | |--application.xml (with module connector for gemfireJCA using gemfire-jca-9.8.3.rar)

Решение 2:

Обработка соединения через исходный код:

@Bean
public JCAManagedConnectionFactory jcaManagedConnectionFactory() {

    JCAManagedConnectionFactory jcaManagedConnectionFactory =
        new JCAManagedConnectionFactory();
    jcaManagedConnectionFactory.setProductName("GemFire");
    jcaManagedConnectionFactory.setUserName(""); // DO NOT SET ANY USERNAME
    jcaManagedConnectionFactory.setVersion("8.0");
    return jcaManagedConnectionFactory;
}
@Bean
public JCAManagedConnection jcaManagedConnection(JCAManagedConnectionFactory jcaManagedConnectionFactory)
    throws ResourceException {

    return (JCAManagedConnection) jcaManagedConnectionFactory
        .createManagedConnection(null, null);
}
    @Bean
public GFConnectionFactory getGFConnectionFactory(JCAManagedConnectionFactory jcaManagedConnectionFactory,
                                                  JCAManagedConnection jcaManagedConnection)
    throws ResourceException {

    GFConnectionFactory lookup =
        (GFConnectionFactory) jcaManagedConnectionFactory
            .createConnectionFactory(new ConnectionManager() {

                private static final long serialVersionUID =
                    1L;

                @Override
                public Object allocateConnection(ManagedConnectionFactory mcf,
                                                 ConnectionRequestInfo cxRequestInfo)
                    throws ResourceException {

                    return jcaManagedConnection.getConnection(null,
                        cxRequestInfo);
                }
            });
    return lookup;
}

Очистка соединения во время отключения:

 @Override
public void onApplicationEvent(ContextClosedEvent event) {

    if (null != jcaManagedConnection) {
        try {
            jcaManagedConnection.cleanup();
        } catch (ResourceException e) {
            LOGGER.error("Error while shuttingdown the container {}",
                e.getMessage());
            LOGGER.error(e.getMessage(), e);
        }
    }
}
0 голосов
/ 31 марта 2020

Что вызывает NoClassDefFoundError?

nested exception is java.lang.NoClassDefFoundError: org.apache.geode.cache.PartitionResolver

Похоже, что ваше веб-приложение на основе Spring (Data GemFire) не имеет всех необходимых зависимостей в развернутом артефакте (WAR ??)?

Относительно org.apache.geode.ra.GFConnectionFactory этого класса находится в io.pivotal.gemfire:geode-core:9.8.7.

В определении дескриптора WAS Liberty:

<library id="gemfireRaLib" apiTypeVisibility="spec, ibm-api, stable, third-party, api">
  <fileset dir="/path/to/shared/geode-lib" includes="geode-dependencies.jar"/>
  <fileset dir="/path/to/shared/geode-lib" includes="*.jar"/>
</library> 

Я не думаю, что это правильно:

<fileset dir="/path/to/geode-lib" includes="geode-dependencies.jar"/>

Например, Pivotal GemFire ​​9.8 основан на Apache Geode 1.9. Итак, я буду использовать дистрибутив Apache Geode 1.9.

$ cd apache-geode-1.9.2/
jblum-mbpro-2:apache-geode-1.9.2 jblum$ $ jar -tvf lib/geode-dependencies.jar 
     0 Tue Oct 15 06:08:24 PDT 2019 META-INF/
  2250 Tue Oct 15 06:08:24 PDT 2019 META-INF/MANIFEST.MF
 19957 Tue Oct 15 06:05:14 PDT 2019 META-INF/LICENSE
   575 Tue Oct 15 06:05:14 PDT 2019 META-INF/NOTICE

Знаете ли вы, что geode-dependencies.jar - это файл JAR только для манифеста?

JAR только для манифеста являются удобным средством ссылки на другие JAR-файлы, которые требуются в вашем пути к классам приложения, поэтому вам не нужно перечислять все необходимые JAR-файлы независимо, например ...

$ java -classpath /path/to/A.jar;/path/to/B.jar;...;/path/to/N.jar

JAR-файлы только для манифеста НЕ СОДЕРЖАЮТ любые файлы классов или другие ресурсы, как вы можете видеть выше, кроме файла манифеста.

JAR-файлы только для манифеста содержат META-INF/MANIFEST.MF с атрибутом Class-Path, установленным на требуемые JAR-файлы. «Требуемые JAR» относятся к JAR только для манифеста (например, geode-dependecies.jar).

Поскольку geode-dependencies.jar содержится в ~/apache-geode-1.9.2/lib, разрешаются только JAR в каталоге ~/apache-geode-1.9.2/lib:

$ ll lib/
total 133376
-rw-r--r--@ 1 jblum  staff    114165 Jun 13  2019 HdrHistogram-2.1.9.jar
-rw-r--r--@ 1 jblum  staff    143577 Jul 17  2019 HikariCP-3.2.0.jar
-rw-r--r--@ 1 jblum  staff     29779 Jun 13  2019 LatencyUtils-2.0.3.jar
-rw-r--r--@ 1 jblum  staff    445288 Feb  6  2019 antlr-2.7.7.jar
-rw-r--r--@ 1 jblum  staff    346684 Feb  6  2019 classgraph-4.0.6.jar
-rw-r--r--@ 1 jblum  staff    246174 Feb  6  2019 commons-beanutils-1.9.3.jar
-rw-r--r--@ 1 jblum  staff    284184 Feb  6  2019 commons-codec-1.10.jar
-rw-r--r--@ 1 jblum  staff    588337 Feb  6  2019 commons-collections-3.2.2.jar
-rw-r--r--@ 1 jblum  staff    196768 Feb  6  2019 commons-digester-2.1.jar
-rw-r--r--@ 1 jblum  staff    214788 Feb  6  2019 commons-io-2.6.jar
-rw-r--r--@ 1 jblum  staff    501879 Feb  6  2019 commons-lang3-3.8.1.jar
-rw-r--r--@ 1 jblum  staff     61829 Feb  6  2019 commons-logging-1.2.jar
-rw-r--r--@ 1 jblum  staff   1692782 Aug 21  2019 commons-math3-3.2.jar
-rw-r--r--@ 1 jblum  staff    112005 Aug 21  2019 commons-modeler-2.0.1.jar
-rw-r--r--@ 1 jblum  staff    186077 Feb  6  2019 commons-validator-1.6.jar
-rw-r--r--@ 1 jblum  staff  18800316 Jun 13  2019 fastutil-8.2.2.jar
-rw-r--r--@ 1 jblum  staff     15322 Feb  6  2019 findbugs-annotations-1.3.9-1.jar
-rw-r--r--@ 1 jblum  staff     23712 Aug 21  2019 geo-0.7.1.jar
-rw-r--r--@ 1 jblum  staff     12987 Oct 15 06:07 geode-common-1.9.2.jar
-rw-r--r--@ 1 jblum  staff    130813 Oct 15 06:08 geode-connectors-1.9.2.jar
-rw-r--r--@ 1 jblum  staff  12280133 Oct 15 06:08 geode-core-1.9.2.jar
-rw-r--r--@ 1 jblum  staff     96220 Oct 15 06:08 geode-cq-1.9.2.jar
-rw-r--r--@ 1 jblum  staff      8200 Oct 15 06:08 geode-dependencies.jar
-rw-r--r--@ 1 jblum  staff     24431 Oct 15 06:08 geode-jca-1.9.2.rar
-rw-r--r--@ 1 jblum  staff    220612 Oct 15 06:08 geode-lucene-1.9.2.jar
-rw-r--r--@ 1 jblum  staff    103539 Oct 15 06:07 geode-management-1.9.2.jar
-rw-r--r--@ 1 jblum  staff     14225 Oct 15 06:08 geode-old-client-support-1.9.2.jar
-rw-r--r--@ 1 jblum  staff    110608 Oct 15 06:08 geode-protobuf-1.9.2.jar
-rw-r--r--@ 1 jblum  staff    607104 Oct 15 06:07 geode-protobuf-messages-1.9.2.jar
-rw-r--r--@ 1 jblum  staff     22805 Oct 15 06:08 geode-rebalancer-1.9.2.jar
-rw-r--r--@ 1 jblum  staff    516805 Oct 15 06:08 geode-redis-1.9.2.jar
-rw-r--r--@ 1 jblum  staff     87754 Oct 15 06:08 geode-wan-1.9.2.jar
-rw-r--r--@ 1 jblum  staff     41262 Oct 15 06:08 geode-web-1.9.2.jar
-rw-r--r--@ 1 jblum  staff      8236 Oct 15 06:08 gfsh-dependencies.jar
-rw-r--r--@ 1 jblum  staff      9902 Aug 21  2019 grumpy-core-0.2.2.jar
-rw-r--r--@ 1 jblum  staff    767140 Jun 13  2019 httpclient-4.5.6.jar
-rw-r--r--@ 1 jblum  staff    326356 Jun 13  2019 httpcore-4.4.10.jar
-rw-r--r--@ 1 jblum  staff     20024 Jun 13  2019 istack-commons-runtime-2.2.jar
-rw-r--r--@ 1 jblum  staff     66894 May 13  2019 jackson-annotations-2.9.8.jar
-rw-r--r--@ 1 jblum  staff    325619 Feb  6  2019 jackson-core-2.9.8.jar
-rw-r--r--@ 1 jblum  staff   1347236 Feb  6  2019 jackson-databind-2.9.8.jar
-rw-r--r--@ 1 jblum  staff    283858 Aug 21  2019 jansi-1.17.1.jar
-rw-r--r--@ 1 jblum  staff     78030 Jun 13  2019 javax.activation-1.2.0.jar
-rw-r--r--@ 1 jblum  staff     56674 Jun 13  2019 javax.activation-api-1.2.0.jar
-rw-r--r--@ 1 jblum  staff    219146 Aug 21  2019 javax.mail-api-1.6.2.jar
-rw-r--r--@ 1 jblum  staff     69900 Jun 13  2019 javax.resource-api-1.7.1.jar
-rw-r--r--@ 1 jblum  staff     95806 May 13  2019 javax.servlet-api-3.1.0.jar
-rw-r--r--@ 1 jblum  staff     28016 Jun  7  2019 javax.transaction-api-1.3.jar
-rw-r--r--@ 1 jblum  staff    128076 Jun 13  2019 jaxb-api-2.3.1.jar
-rw-r--r--@ 1 jblum  staff   1099204 Jun 13  2019 jaxb-impl-2.3.1.jar
-rw-r--r--@ 1 jblum  staff    195664 Jul 16  2019 jetty-http-9.4.12.v20180830.jar
-rw-r--r--@ 1 jblum  staff    139436 Jun 13  2019 jetty-io-9.4.12.v20180830.jar
-rw-r--r--@ 1 jblum  staff     93077 Jul 16  2019 jetty-security-9.4.12.v20180830.jar
-rw-r--r--@ 1 jblum  staff    609290 Jun 13  2019 jetty-server-9.4.12.v20180830.jar
-rw-r--r--@ 1 jblum  staff    110983 Oct  7 15:01 jetty-servlet-9.4.12.v20180830.jar
-rw-r--r--@ 1 jblum  staff    502985 Jun 13  2019 jetty-util-9.4.12.v20180830.jar
-rw-r--r--@ 1 jblum  staff    128579 Jul 16  2019 jetty-webapp-9.4.12.v20180830.jar
-rw-r--r--@ 1 jblum  staff     52044 Jul 16  2019 jetty-xml-9.4.12.v20180830.jar
-rw-r--r--@ 1 jblum  staff   2512913 Feb  6  2019 jgroups-3.6.14.Final.jar
-rw-r--r--@ 1 jblum  staff    213854 Feb  6  2019 jline-2.12.jar
-rw-r--r--@ 1 jblum  staff    914597 Feb  6  2019 jna-4.1.0.jar
-rw-r--r--@ 1 jblum  staff     78146 Feb  6  2019 jopt-simple-5.0.4.jar
-rw-r--r--@ 1 jblum  staff    264060 Jul  3  2019 log4j-api-2.11.1.jar
-rw-r--r--@ 1 jblum  staff   1607947 Aug  8  2019 log4j-core-2.11.1.jar
-rw-r--r--@ 1 jblum  staff     12664 Aug 21  2019 log4j-jcl-2.11.1.jar
-rw-r--r--@ 1 jblum  staff     23999 Sep  3  2019 log4j-jul-2.11.1.jar
-rw-r--r--@ 1 jblum  staff     23241 Aug 20  2019 log4j-slf4j-impl-2.11.1.jar
-rw-r--r--@ 1 jblum  staff   1513791 Feb  6  2019 lucene-analyzers-common-6.6.2.jar
-rw-r--r--@ 1 jblum  staff     26142 Feb  6  2019 lucene-analyzers-phonetic-6.6.2.jar
-rw-r--r--@ 1 jblum  staff   2783525 Feb  6  2019 lucene-core-6.6.2.jar
-rw-r--r--@ 1 jblum  staff    237891 Feb  6  2019 lucene-queries-6.6.2.jar
-rw-r--r--@ 1 jblum  staff    405545 Feb  6  2019 lucene-queryparser-6.6.2.jar
-rw-r--r--@ 1 jblum  staff    422554 Jun 13  2019 micrometer-core-1.1.3.jar
-rw-r--r--@ 1 jblum  staff    409467 Feb  6  2019 mx4j-3.0.2.jar
-rw-r--r--@ 1 jblum  staff    172221 Aug 21  2019 mx4j-remote-3.0.2.jar
-rw-r--r--@ 1 jblum  staff    497017 Aug 21  2019 mx4j-tools-3.0.1.jar
-rw-r--r--@ 1 jblum  staff   3905888 Aug 21  2019 netty-all-4.1.31.Final.jar
-rw-r--r--@ 1 jblum  staff   1421323 Aug 21  2019 protobuf-java-3.6.1.jar
-rw-r--r--@ 1 jblum  staff     17522 Oct 15 06:08 ra.jar
-rw-r--r--@ 1 jblum  staff    110848 Feb  6  2019 rmiio-2.1.2.jar
-rw-r--r--@ 1 jblum  staff     13601 Feb  6  2019 shiro-cache-1.4.0.jar
-rw-r--r--@ 1 jblum  staff     18037 Feb  6  2019 shiro-config-core-1.4.0.jar
-rw-r--r--@ 1 jblum  staff     43303 Feb  6  2019 shiro-config-ogdl-1.4.0.jar
-rw-r--r--@ 1 jblum  staff    410541 Feb  6  2019 shiro-core-1.4.0.jar
-rw-r--r--@ 1 jblum  staff     24024 Feb  6  2019 shiro-crypto-cipher-1.4.0.jar
-rw-r--r--@ 1 jblum  staff     10873 Feb  6  2019 shiro-crypto-core-1.4.0.jar
-rw-r--r--@ 1 jblum  staff     34298 Feb  6  2019 shiro-crypto-hash-1.4.0.jar
-rw-r--r--@ 1 jblum  staff     19210 Feb  6  2019 shiro-event-1.4.0.jar
-rw-r--r--@ 1 jblum  staff     51122 Feb  6  2019 shiro-lang-1.4.0.jar
-rw-r--r--@ 1 jblum  staff     41203 Feb  6  2019 slf4j-api-1.7.25.jar
-rw-r--r--@ 1 jblum  staff     57954 Feb  6  2019 snappy-0.4.jar
-rw-r--r--@ 1 jblum  staff    379904 Sep  4  2019 spring-aop-4.3.20.RELEASE.jar
-rw-r--r--@ 1 jblum  staff    763445 Aug 21  2019 spring-beans-4.3.20.RELEASE.jar
-rw-r--r--@ 1 jblum  staff   1142763 Aug 21  2019 spring-context-4.3.20.RELEASE.jar
-rw-r--r--@ 1 jblum  staff   1130638 Aug 21  2019 spring-core-4.3.20.RELEASE.jar
-rw-r--r--@ 1 jblum  staff    274952 Aug 21  2019 spring-expression-4.3.20.RELEASE.jar
-rw-r--r--@ 1 jblum  staff    195025 Feb  6  2019 spring-shell-1.2.0.RELEASE.jar
-rw-r--r--@ 1 jblum  staff    828588 Sep  4  2019 spring-web-4.3.20.RELEASE.jar

См. geode-dependenies.jar в каталоге lib?

Теперь давайте проверим файл META-INF/MANIFEST.MF.

$ $ jar -xvf lib/geode-dependencies.jar META-INF/MANIFEST.MF
 inflated: META-INF/MANIFEST.MF

$ cat META-INF/MANIFEST.MF 
Manifest-Version: 1.0
Organization: Apache Software Foundation (ASF)
Class-Path: geode-common-1.9.2.jar geode-core-1.9.2.jar geode-connecto
 rs-1.9.2.jar geode-lucene-1.9.2.jar geode-redis-1.9.2.jar geode-old-c
 lient-support-1.9.2.jar geode-protobuf-1.9.2.jar geode-protobuf-messa
 ges-1.9.2.jar geode-management-1.9.2.jar geode-wan-1.9.2.jar geode-cq
 -1.9.2.jar geode-rebalancer-1.9.2.jar antlr-2.7.7.jar jgroups-3.6.14.
 Final.jar jackson-databind-2.9.8.jar jackson-annotations-2.9.8.jar sp
 ring-shell-1.2.0.RELEASE.jar commons-io-2.6.jar commons-validator-1.6
 .jar javax.activation-1.2.0.jar jaxb-api-2.3.1.jar jaxb-impl-2.3.1.ja
 r istack-commons-runtime-2.2.jar commons-lang3-3.8.1.jar micrometer-c
 ore-1.1.3.jar fastutil-8.2.2.jar javax.resource-api-1.7.1.jar jna-4.1
 .0.jar jopt-simple-5.0.4.jar log4j-slf4j-impl-2.11.1.jar log4j-core-2
 .11.1.jar log4j-jcl-2.11.1.jar log4j-jul-2.11.1.jar log4j-api-2.11.1.
 jar jetty-webapp-9.4.12.v20180830.jar jetty-servlet-9.4.12.v20180830.
 jar jetty-security-9.4.12.v20180830.jar jetty-server-9.4.12.v20180830
 .jar spring-core-4.3.20.RELEASE.jar snappy-0.4.jar shiro-core-1.4.0.j
 ar classgraph-4.0.6.jar rmiio-2.1.2.jar jansi-1.17.1.jar shiro-cache-
 1.4.0.jar shiro-crypto-hash-1.4.0.jar shiro-crypto-cipher-1.4.0.jar s
 hiro-config-ogdl-1.4.0.jar shiro-config-core-1.4.0.jar shiro-event-1.
 4.0.jar shiro-crypto-core-1.4.0.jar shiro-lang-1.4.0.jar slf4j-api-1.
 7.25.jar commons-beanutils-1.9.3.jar commons-collections-3.2.2.jar ht
 tpclient-4.5.6.jar commons-logging-1.2.jar javax.servlet-api-3.1.0.ja
 r httpcore-4.4.10.jar jackson-core-2.9.8.jar javax.activation-api-1.2
 .0.jar HdrHistogram-2.1.9.jar LatencyUtils-2.0.3.jar javax.transactio
 n-api-1.3.jar jetty-xml-9.4.12.v20180830.jar jetty-http-9.4.12.v20180
 830.jar jetty-io-9.4.12.v20180830.jar jline-2.12.jar jetty-util-9.4.1
 2.v20180830.jar commons-codec-1.10.jar HikariCP-3.2.0.jar lucene-anal
 yzers-phonetic-6.6.2.jar lucene-analyzers-common-6.6.2.jar lucene-que
 ryparser-6.6.2.jar lucene-core-6.6.2.jar lucene-queries-6.6.2.jar geo
 -0.7.1.jar netty-all-4.1.31.Final.jar grumpy-core-0.2.2.jar commons-m
 ath3-3.2.jar protobuf-java-3.6.1.jar
Title: geode
Version: 1.9.2
Created-By: jdeppe

Все JAR, перечисленные в атрибут файла Class-Path Manifyt относится к geode-dependencies.jar и также является JAR-файлами, которые требуются для вашего пути к классам в WAS ... Так что несколько объявлений <fileset> для минимально, JAR-файлов Geode / GemFire ​​...

geode-core geode-cq geode-lucence geode-wan

... а также любые JAR-файлы, в которых Spring Data GemFire ​​ нуждается , включая потенциально сторонние библиотеки (т.е. переходные зависимости) в зависимости от используемых вами возможностей GemFire ​​(возможно), например Lucene ..

lucene-xyz.jar

Et c.

Имеет смысл?

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

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

...