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>
Другие вопросы по тегам