下面我就这个问题具体解释一下第一步
我得applet类主要代码如下
public class AlarmApplet
extends Applet
{
private Subscriber subs; public void init() {
System.out.println("init the applet");
}
public void start() { try{
subs=new Subscriber();
Thread sub=new Thread(subs);
sub.start();
}catch(Exception e){
System.out.println(e.getMessage());
} System.out.println("start the applet");
}
......
}第二步
Subscriber类类主要代码如下:
public class Subscriber extends Application implements Runnable{
public void run() {
Subscriber app = new Subscriber();
//subscribe.config就是哪个配置文件
app.main("Subscriber", new String[0], "subscribe.config");
}
}第三步
jsp文件中代码
<applet
codebase = "<%=Root%>"
code = "com.thtf.ezone.ezibs.jpc.rmiaccess.AlarmApplet.class"
archive = "app.jar"
name = "alarmApplet"
width = "0"
height = "0"
>
</applet>
我把配置文件subscribe.config打在了app.jar中的根目录了第四步
运行时报错 如下
init the alarm applet
start the alarmapplet
Subscriber: Ice.FileException
error = 0
path = "subscribe.config"
Ice.FileException
error = 0
path = "subscribe.config"
at Ice.PropertiesI.load(PropertiesI.java:219)
at Ice.Application.main(Application.java:58)
at Ice.Application.main(Application.java:36)
at com.thtf.ezone.ezibs.jpc.iceapp.Subscriber.run(Subscriber.java:179)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: subscribe.config (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at Ice.PropertiesI.load(PropertiesI.java:213)
... 4 more
我得applet类主要代码如下
public class AlarmApplet
extends Applet
{
private Subscriber subs; public void init() {
System.out.println("init the applet");
}
public void start() { try{
subs=new Subscriber();
Thread sub=new Thread(subs);
sub.start();
}catch(Exception e){
System.out.println(e.getMessage());
} System.out.println("start the applet");
}
......
}第二步
Subscriber类类主要代码如下:
public class Subscriber extends Application implements Runnable{
public void run() {
Subscriber app = new Subscriber();
//subscribe.config就是哪个配置文件
app.main("Subscriber", new String[0], "subscribe.config");
}
}第三步
jsp文件中代码
<applet
codebase = "<%=Root%>"
code = "com.thtf.ezone.ezibs.jpc.rmiaccess.AlarmApplet.class"
archive = "app.jar"
name = "alarmApplet"
width = "0"
height = "0"
>
</applet>
我把配置文件subscribe.config打在了app.jar中的根目录了第四步
运行时报错 如下
init the alarm applet
start the alarmapplet
Subscriber: Ice.FileException
error = 0
path = "subscribe.config"
Ice.FileException
error = 0
path = "subscribe.config"
at Ice.PropertiesI.load(PropertiesI.java:219)
at Ice.Application.main(Application.java:58)
at Ice.Application.main(Application.java:36)
at com.thtf.ezone.ezibs.jpc.iceapp.Subscriber.run(Subscriber.java:179)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: subscribe.config (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at Ice.PropertiesI.load(PropertiesI.java:213)
... 4 more
一般来说应该放到你的class文件同一个目录下
public void run() {
Subscriber app = new Subscriber();
//subscribe.config就是哪个配置文件
app.main("Subscriber", new String[0], "subscribe.config");
}
}
这个地方的路径是怎么写的啊
包括从一篇文章里找到的
app.main("Subscriber", new String[0], getClass().getResource("/subscribe.config").toString())
也不行
getClass().getResource("/subscribe.config").toString()输出值是jar:http://localhost:8080/ezIBS/app/tools/app.jar!/subscribe.config
BufferedReader br=new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("subscribe.config")));