我有一个非常简单的应用程序。以下是完整的源代码:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
public class AppTest {
public static void main(String[] args) {
Date myDate = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String myDateString = sdf.format(myDate);
FileWriter fstream = null;
BufferedWriter out = null;
try{
fstream = new FileWriter("AppTest.log",true);
out = new BufferedWriter(fstream);
out.append(myDateString + " AppTest has run\n");
out.close();
fstream.close();
}catch (Exception e){}
}
}
它将在Mac OS X以外的操作系统上运行。如果我强制使用Java 6,它将在Mac OS X上运行。这可以通过命令行完成:
/System/Library/Java/Support/Deploy.bundle/Contents/MacOS/javaws -XstartOnFirstThread http://forexhitandrun.com/app_dev/apptest.jnlp
在这种情况下,它会将一行写入日志文件,因此我知道它已运行。
但是,如果我从浏览器中将其作为webstart应用程序运行,如下所示:
http://forexhitandrun.com/app_dev/apptest.jnlp
没有任何内容写入日志文件。此方法使用Oracle最新的Java 7更新。
但是在我们得出结论认为我的Java安装有问题之前,我可以从浏览器(因此是Java 7)启动一个不同的应用程序,它确实有效:
http://www.cadc-ccda.hia-iha.nrc-cnrc.gc.ca/JavaTest/
有没有人经历过类似的事情,或者有没有人有任何可能出错的线索?
答案 0 :(得分:0)
Petesh的评论让我想到了jnlp文件,因为所有权限都是在安全标记下定义的。我不确定java不喜欢的jnlp文件中的内容是什么,但我只是从应用程序中复制了一些资源信息,这些信息确实有效,并且现在可以正常工作。
以下是我的jnlp文件的资源部分:
<resources>
<j2se version="1.6+" spec="1.0+" initial-heap-size="64m" max-heap-size="128m" href="http://java.sun.com/products/autodl/j2se"/>
<jar href="apptest.jar"/>
</resources>
谢谢!现在我可以调试真正的应用程序。