|
I have a seemingly minor problem with XDoclet but I need to solve it to use the tool.
XDoclet is run on a set of classes as part of an Ant build. The build is invoked as an OS process from a Java program. The program that starts Ant captures the values of stdout and stderr of the Ant process. The success or failure of the build is judged based on the fact whether stderr is empty.
The program worked fine on my computer (that is only if the build produced some errors, anything was written to stderr), until I tried it on some other machine. There I discovered that XDoclet logs some of the information to the stderr. The information going to stderr (instead of stdout) looks like
[ejbdoclet] (XDocletMain.start 47 ) Running <remoteinterface/> [ejbdoclet] (XDocletMain.start 47 ) Running <localinterface/> [ejbdoclet] (XDocletMain.start 47 ) Running <homeinterface/> [ejbdoclet] (XDocletMain.start 47 ) Running <localhomeinterface/> [ejbdoclet] (XDocletMain.start 47 ) Running <deploymentdescriptor/>
I can observer this behavior by simply starting Ant from the command line and redirecting stderr.
I am trying to understand
1. What determines where the informational output is written? 2. Why on different computers this information is written by XDoclet to different streams? 3. How to tell XDoclet to only send the error information to stderr?
Any help is appreciated.
Thank you.
Michael |
