класс не найден в пакетной обработке JEE - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь научиться пакетной обработке JEE, следуя этой странице .Я использую NetBeans 8.2 для создания корпоративного проекта с JEE7.Он имеет как ejb-уровень, так и веб-уровень, работающий в одном контейнере glassfish5.Поскольку мой читатель, классы процессора и записи находятся на уровне ejb, я создаю свой TestJob.xml в META-INF/batch-jobs моего jar-файла.Его содержимое:

<job id="TestJob" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0">
<step id="process">
    <chunk item-count="2">
        <reader ref="SimpleItemReader"/>
        <processor ref="SimpleItemProcessor"/>
        <writer ref="SimpleItemWriter"/>
    </chunk>
</step>
</job> 

и структура фляги также очень проста:

<jar file>
   |-- META-INF
   |      |-- batch-jobs
   |              |-- TestJob.xml
   |      |-- MANIFEST.MF
   |-- testjob      <-- my packge
         |-- SimpleItemReader.class . . . <-- class files  

Так же, как в ссылке, я использую сервлет для запуска задания.Но он не смог найти TestJob.xml.

, поэтому я переместил XML-файл на уровень войны.Файловая структура war выглядит следующим образом:

<war file>
   |-- META-INF
   |      |-- MANIFEST.MF
   |-- WEB-INF
           |-- classes
                |-- META-INF
                |     |-- batch-jobs
                |          |-- TestJob.xml
                |-- testjob.servlet      <-- my package for servlet
                      |-- PayrollJobServlet.class   

Но затем она достигает ClassNotFoundException: SimpleItemReader.

Я также пытался поместить файл xml на уровни ejb и war, кажется, ejbодин всегда игнорировался, а война - неудачей с ClassNotFoundException: SimpleItemReader.Поэтому я был бы признателен, если бы кто-нибудь мог помочь мне обнаружить ошибку здесь.Я могу опубликовать код здесь, если это необходимо, но, кажется, он еще не дошел до классов.К тому же они скопированы из ссылки.Пожалуйста, помогите.

...