weblogic appc: включить общие аргументы в jar-клиент ejb - PullRequest
6 голосов
/ 15 июля 2010

У меня есть EJB, возвращающий список моих собственных ValidationMessage объектов:

@Remote
public interface Intf {
    List<ValidationMessage> validateFile();
}

Я создаю JAR-файл EJB-клиента с помощью утилиты weblogic appc . Проблема в том, что он не включает ValidationMessage класс в клиентский JAR. Возможно, он не видит зависимости от этого класса, потому что он смотрит только на скомпилированный код, когда общая информация уже стерта.
Если я добавлю другой фиктивный метод, который возвращает этот класс напрямую, в интерфейс, все в порядке.

@Remote
public interface Intf {
    List<ValidationMessage> validateFile();
    ValidationMessage dummy();
}

Мой вопрос: есть ли способ исправить это без добавления фиктивного метода? Есть ли способ управления тем, что включается appc в клиентский JAR?

Ответы [ 2 ]

0 голосов
/ 02 августа 2010

У меня возникла проблема с simialr в appc, где я хотел переопределить некоторые POJOS, сгенерированные для клиента JAX-WS.

Я использовал эту опцию (-output) для генерации вывода в каталог в разобранном виде вместо клиентского jar. Сделайте ant-копию необходимых файлов .class в каталог client и создайте jar из свой собственный.

Вы можете увидеть эту опцию, если вы делаете 'java weblogic.appc', выполняете setEnv.cmd

-output Указывает альтернативный выходной архив или каталог. Если не установлен, вывод будет помещается в исходный архив или каталог.

проверить, работает ли это

0 голосов
/ 22 июля 2010

Это не фактический ответ, и я не знаю ни WebLogic, ни утилиты appc.

Это похоже на проблему стирания. Фактический тип возврата из метода validateFile() - это необработанный тип List; хотя в файле класса есть дополнительная информация для восстановления параметров типа, некоторые инструменты их не проверяют.

Я предсказываю, что эта проблема исчезнет, ​​если вы также ссылаетесь на отсутствующий класс в параметре метода.

...