2013-07-31 2 views
1

Я использую плагин cxf-codegen maven. В первый раз, когда я установил mvn, он сгенерировал набор файлов, они были помещены в папку target/generated-sources/cxf, все сгенерированные файлы, которые были скомпилированы и упакованы в полученную банку by maven.Как изменить сгенерированные файлы, созданные с помощью cxf-codegen плагина, а затем скомпилировать?

Теперь я обнаружил, что по какой-то причине атрибут пространства имен не извлекается из пакета--info.java, пока создается ответ остального. так что мой сервер кидает ошибку говоря

javax.xml.bind.UnmarshalException: 
unexpected element (uri:"", local:"com.collabnet.teamforge.ia.types.GetConfigurationParametersResponse"). 
Expected elements are 
\lt{http://www.collab.net/teamforge/integratedapp}CreateProjectConfigurationRequest\gt, 
\lt{http://www.collab.net/teamforge/integratedapp}GetConfigurationParametersRequest\gt, 
\lt{http://www.collab.net/teamforge/integratedapp}GetConfigurationParametersResponse\gt, 
\lt{http://www.collab.net/teamforge/integratedapp}GetPageComponentParametersRequest>

Так что я планировал сделать это, установите атрибут пространства имен в созданном файле (GetConfigurationParametersResponse.java) в

@XmlRootElement (имя = «GetConfigurationParametersResponse», namespace = "http: // ...")

. В настоящее время я сделал изменения и сделал maven install, но ничего не происходит. Это изменение в сгенерированных файлах игнорируется установкой maven. Это не скомпилировано.

SO мой вопрос

Как сделать это изменение, которое я сделал в сгенерированных файлов, чтобы получить отраженную и компилируются во время мавена установки?

+0

Ваши изменения в сгенерированных файлах, которые были перезаписаны при установке maven? –

+0

№. Я только что установил maven и получил банку. Чтобы увидеть, отражается ли изменение, я использовал онлайн-декомпилятор java http://www.showmycode.com/. Там я нашел только старый код. –

+0

Не только это, я проверил этот. Сервер снова сбросил ту же ошибку, что означает, что изменения не отразились. –

ответ

2

Если вы добавите флаг «-xjc-npa» в wsdl2java, он ДОЛЖЕН заполнить все атрибуты пространства имен для вас и не сгенерировать материал package-info.java. Это МОЖЕТ исправить проблему, если это действительно проблема. Тем не менее, если он все еще генерирует атрибуты namespace = "", это, скорее всего, означает, что схема в wsdl неверна и в ней нет атрибута elementFormDefault = "qualified".

+0

Должен ли я отдать его как -xjc-npa? in pom –

+0

Ya Я использовал выше, и пространство имен было сгенерировано как атрибут в сгенерированных файлах. Благодарю . +1 –

+0

Но все же ури "" пуст. Я новичок в этом домене. Можете ли вы использовать свой опыт и, пожалуйста, помогите мне, решив http://stackoverflow.com/questions/17961790/restlet-seems-to-ignore-pakage-info-java?lq=1 –

Смежные вопросы