最近发现Tomcat后台Console经常性的大批量打印如下格式的字符串
PointN geometry is SePoint:
(dx=xxx,dy=xxx)
发现是SeLinestring的pointN方法中打印出
反编译了jsde_sdk.jar
真的发现了System.out.println语句......
查看MANIFEST.MF文件发现,版本是9.3,jdk 1.4.2_12编译
无语ing.......
最无语是,ESRI对于此问题的回复是:
在ESRI资源中心找到SDE的linux 9.3.1的客户端,解压出jsde_sdk.jar,反编译之后发现版本确实不一样了,但System.out.println语句依旧存在......
鉴于个人兴趣,用如下代码"解决"该问题
PointN geometry is SePoint:
(dx=xxx,dy=xxx)
发现是SeLinestring的pointN方法中打印出
反编译了jsde_sdk.jar
真的发现了System.out.println语句......
查看MANIFEST.MF文件发现,版本是9.3,jdk 1.4.2_12编译
无语ing.......
最无语是,ESRI对于此问题的回复是:
ArcSDE SDK Java API是一个免费的产品,无法修改其源代码并重新编译,可以尝试使用ArcSDE 9.3.1 SDK Java API。在ESRI资源中心找到SDE的linux 9.3.1的客户端,解压出jsde_sdk.jar,反编译之后发现版本确实不一样了,但System.out.println语句依旧存在......
鉴于个人兴趣,用如下代码"解决"该问题
System.out.println("text is visible");
PrintStream printStreamOriginal = System.out;
System.setOut(new PrintStream(new OutputStream() {
public void write(int b) {
}
}));
System.out.println("this text will be lost");
System.setOut(printStreamOriginal);
System.out.println("text is visible again....");

本文针对Tomcat后台Console频繁打印特定格式字符串的问题进行了探讨,通过反编译jsde_sdk.jar发现System.out.println语句的存在,并尝试使用不同版本的ArcSDE SDK Java API来解决。此外,还提供了一种通过重定向System.out来规避控制台打印的方法。
348

被折叠的 条评论
为什么被折叠?



