문제

When I use wsgen or apt to generate web service artifacts in JDK 7 with command.

wsgen -s src -cp CLASS_PATH -d OUTPUT_DIRECTORY  com.sun.WebServiceSEI

displays following warning message

The apt tool and its associated API contained in the package com.sun.mirror have been deprecated since JDK 7 and are planned to be removed in the next major JDK release. Use the options available in the javac tool and the APIs contained in the packages javax.annotation.processing and javax.lang.model to process annotations.

How can I generate web service artifacts without using wsgen or apt to remove this warning?

도움이 되었습니까?

해결책

The warning is generated because WsgenTool class is using classes from com.sun.mirror.apt package, which seem to be deprecated in JDK7. I think in a while JAX-WS team will release jaxws-ri which does not use this API, but it may happen somewhere closer to JDK8 release.

다른 팁

javac is the replacement. They added a pluggable annotation processing system into javac (JSR 269: Pluggable Annotation Processing API) a while back (Java 6 I think). The annotation processor you are looking for is in jaxws-tools.jar (Metro download). Once you have that jar on your classpath you should be able to run javac with a -processor com.sun.tools.ws.processor.modeler.annotation.WebServiceAp option. There is also a Ant task, com.sun.tools.ws.ant.AnnotationProcessingTask. They talk about it a little here http://jax-ws.java.net/nonav/2.2.6/docs/ch04.html#tools-annotation-processing but don't really explain it. Maybe the required annotation processor ships with the JDK but if so I couldn't find it.

Im afraid, it is not possible. What you can do is switch back to old JDK which was working for you, that is your best bet.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top