各位:
我做了一个简单的JFrame,如下:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.util.Map;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class LaunchViewer extends JFrame {
private static final long serialVersionUID = 939549177411442972L;
public static void main(String args[]) {
String fileName = args[0];
v.setTitle("Test Viewer");
v.pack();
v.setSize(800, 600);
v.setVisible(true);
/*
try {
Thread.sleep(1000000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
*/
}
}
如果在cmd调用,没有任何问题,但是在Ant中调用的时候,总是一闪而过。ant脚本如下:
<project name="runsimpleviewer" default="run" basedir=".">
<property name="lib.dir" value="./lib">
<path id="classpath">
<pathelement location="${basedir}\source\customs\target\test-classes">
<pathelement location="${basedir}\source\customs\target\classes">
<pathelement location="${jasper.jar.dir}">
<fileset dir="${lib.dir}">
<include name="**/*.jar">
</fileset>
</path>
<target name="run">
<java classname="LaunchViewer">
<classpath refid="classpath">
</java>
</target>
</project>
由于在cmd下面没有问题,所以确定不是代码的事情,怀疑是ant在调用的时候什么地方没有停住,我觉得肯定有地方设置一下,但是没找到:(
无奈,我只能在代码中增加了sleep(10000),这下就正常了,但是不用想也知道,只能正常10秒钟