ClassNotFoundException: com.ibm.ejs.ras.hpel.HpelHelper в тесте JUnit (с thinclient)
У меня есть тест JUnit (некоторые называют это интеграционным тестом), который тестирует сервис REST для загрузки / выгрузки файлов. Я использую Apache WINK из стандартных библиотек Websphere 8.5:
ClientConfig config = new ClientConfig();
LtpaAuthSecurityHandler secHandler = new LtpaAuthSecurityHandler();
secHandler.setUserName(user);
secHandler.setPassword(password);
secHandler.setSSLRequired(false);
config.handlers(secHandler);
RestClient client = new RestClient(config);
Но я получаю исключение:
java.lang.ClassNotFoundException: com.ibm.ejs.ras.hpel.HpelHelper
Я использую следующие тестовые зависимости:
<dependency>
<groupId>com.ibm.was</groupId>
<artifactId>com.ibm.ws.jpa.thinclient</artifactId>
<version>8.5.0.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
Что мне здесь не хватает? Протестированный код отлично работает при развертывании в WebSphere, но не работает как отдельный тест junit (или основная функция), использующий thinclient.
2 ответа
Я столкнулся с той же ошибкой. Чтобы исправить это, я добавил эти зависимости:
<classpathentry kind="lib" path="lib/com.ibm.jaxws.thinclient_8.5.0.jar"/>
<classpathentry kind="lib" path="lib/com.ibm.ws.admin.client_8.5.0.jar"/>
<classpathentry kind="lib" path="lib/com.ibm.ws.webservices.thinclient_8.5.0.jar"/>
Я получил то же исключение, и оно было решено после того, как я добавил следующее.
<dependency>
<groupId>com.ibm.jaxws</groupId>
<artifactId>thinclient</artifactId>
<version>8.0.0</version>
<scope>provided</scope>
</dependency>