关于System.out的一个问题

junit测试(其实用的是testNG),有2个class:testClass1,testClass2内都有
object.Function(System.out, param1, param2, param3).write()方法在控制台打印信息。
在Function方法里面有System.out.close()
用junit单独运行testClass1或testClass2都可以成功打印

但是我用Ant(其实用的是Maven),一起运行testClass1,testClass2,后面一个test就不能成功打印信息。
自己的理解:运行到test2的时候,System.out已经被test1中close了

怎么解决这问题?是不是应该将System.out换掉?但是不知道怎么换。
或者有什么好的解决方法没?
期待您的帮助,感激涕零。。。

再将System.out换成
ReplaceSystemOut replace_system_out = new ReplaceSystemOut();

是Fuction([b]PrintStream s[/b], param1, param2, param3)吗?
将System.out换成
PrintStream replace_system_out = new PrintStream(xxx);

我就奇怪了,好好地谁会调用System.out.close()啊 这个流 你关它干什么哦 ??

public class ReplaceSystemOut extends PrintStream{
public ReplaceSystemOut(){
super(System.out);
}

//屏蔽这个close方法
public void close(){
    System.out.println("Invoke PrintStream close method!!");
}

}