jax-ws: что именно делает флаг "keep" в инструменте "wsgen"?

Что именно делает keep флаг в wsgen инструмент делать? Я использую стандартную реализацию командной строки, которая поставляется с Oracle Java 7 (по адресу: /usr/lib/jvm/java-7-oracle/bin/wsgen).

Документация гласит: "Сохраняйте сгенерированные файлы", однако я попробовал оба:

wsgen -cp dist/foo.jar -r ../client/ -s ../client/src-auto/ -keep foo.Hello

а также

wsgen -cp dist/foo.jar -r ../client/ -s ../client/src-auto/       foo.Hello

и сгенерированные файлы всегда перезаписываются (как файлы-заглушки клиента Java, так и файлы wsdl). Такое же поведение демонстрируется wsgen Задача муравья - keep Атрибут, кажется, не производит никаких эффектов, будь то true или же false,

1 ответ

Решение

wsgen генерирует артефакты вашего веб-сервиса, компилирует их и сохраняет только .class файлы. Используя -keep вариант, который вы говорите wsgen также сохранить сгенерированный .java файлы.

-s инструктирует wsgen чтобы сохранить .java файлы и разместить их в указанном месте, в котором я думаю, что -keep опция игнорируется, так как вы использовали -s вариант (вы сделали это в обоих ваших примерах).

Попробуйте поиграть с простой командой, просто -keep и посмотрим, когда оно сохранится .java файлы, а когда нет.

Другие вопросы по тегам