当前位置: 技术问答>java相关
在用java web start时碰到的问题?定给分
来源: 互联网 发布时间:2015-04-10
本文导语: 小弟我在试用webstart时,无法成功调用程序。显示为: 无法运行ttt 详细信息: 常规: 启动/运行应用程序时发生错误。 标题:ttt 供货商:ttt 类别:下载错误 无法加载资源:http://localhost:8080/web app/testwebstart.jnlp ...
小弟我在试用webstart时,无法成功调用程序。显示为:
无法运行ttt
详细信息:
常规:
启动/运行应用程序时发生错误。
标题:ttt
供货商:ttt
类别:下载错误
无法加载资源:http://localhost:8080/web app/testwebstart.jnlp
例外:
JNLPException[category: 下载错误 : Exception: java.net.ConnectException: Connection refused: connect : LaunchDesc: null ]
at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
at com.sun.javaws.cache.DownloadProtocol.isLaunchFileUpdateAvailable(Unknown Source)
at com.sun.javaws.LaunchDownload.getUpdatedLaunchDesc(Unknown Source)
at com.sun.javaws.Launcher.downloadResources(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:484)
封装例外:
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:323)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:136)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:123)
at java.net.Socket.(Socket.java:273)
at java.net.Socket.(Socket.java:100)
at sun.net.NetworkClient.doConnect(NetworkClient.java:50)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:331)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:517)
at sun.net.www.http.HttpClient.(HttpClient.java:267)
at sun.net.www.http.HttpClient.(HttpClient.java:277)
at sun.net.www.http.HttpClient.New(HttpClient.java:289)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:383)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:476)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:230)
at com.sun.javaws.util.URLUtil.doesURLExist(Unknown Source)
at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
at com.sun.javaws.cache.DownloadProtocol.isLaunchFileUpdateAvailable(Unknown Source)
at com.sun.javaws.LaunchDownload.getUpdatedLaunchDesc(Unknown Source)
at com.sun.javaws.Launcher.downloadResources(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:484)
无法运行ttt
详细信息:
常规:
启动/运行应用程序时发生错误。
标题:ttt
供货商:ttt
类别:下载错误
无法加载资源:http://localhost:8080/web app/testwebstart.jnlp
例外:
JNLPException[category: 下载错误 : Exception: java.net.ConnectException: Connection refused: connect : LaunchDesc: null ]
at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
at com.sun.javaws.cache.DownloadProtocol.isLaunchFileUpdateAvailable(Unknown Source)
at com.sun.javaws.LaunchDownload.getUpdatedLaunchDesc(Unknown Source)
at com.sun.javaws.Launcher.downloadResources(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:484)
封装例外:
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:323)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:136)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:123)
at java.net.Socket.(Socket.java:273)
at java.net.Socket.(Socket.java:100)
at sun.net.NetworkClient.doConnect(NetworkClient.java:50)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:331)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:517)
at sun.net.www.http.HttpClient.(HttpClient.java:267)
at sun.net.www.http.HttpClient.(HttpClient.java:277)
at sun.net.www.http.HttpClient.New(HttpClient.java:289)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:383)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:476)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:230)
at com.sun.javaws.util.URLUtil.doesURLExist(Unknown Source)
at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
at com.sun.javaws.cache.DownloadProtocol.isLaunchFileUpdateAvailable(Unknown Source)
at com.sun.javaws.LaunchDownload.getUpdatedLaunchDesc(Unknown Source)
at com.sun.javaws.Launcher.downloadResources(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:484)
|
是因为你的java.policy没有配置好
Policy文件的格式
----为了能够更好地理解下面的内容,建议在阅读时参照 jdk1.2jrelibsecurityjava.policy文件和jdk1.2jrelibsecurityjava.security文件的内容。
----Policy文件的语法格式与说明
----一个Policy文件实质上是一个记录列表,它可能含有一个 “keystore”记录,以及含有零个或多个“grant”记录。其格式如下:
keystore “some_keystore_url", “keystore_type";
grant [ SignedBy “signer_names" ] [ , CodeBase “URL" ] {
Permission permission_class_name [ “target_name" ]
[ , “action"] [, SignedBy “signer_names" ];
Permission ...
};
----(1)“keystore"记录
----一个keystore是一个私有密钥(private keys)数据库和相应的数字签名,例如X.509证书。Policy文件中可能只有一条keystore记录(也可能不含有该记录),它可以出现在文件中grant记录以外的任何地方。Policy配置文件中指定的 keystores用于寻找grant记录中指定的、签名者的公共密钥(public keys),如果任何grant 记录指定签名者(signer_names),那么,keystore记录必须出现在policy配置文件中。
----“some_keystore_url"是指keystore的URL位置, “keystore_type"是指keystore的类型。第二个选项是可选项,如果没有指定,该类型则假定由安全属性文件(java.security)中的“keystore.type"属性来确定。keystore类型定义了 keystore信息的存储和数据格式,用于保护keystore中的私有密钥和keystore完整性的算法。 Sun Microsystems支持的缺省类型为“JKS”。
---- (2)“grant"记录
----在Policy文件中的每一个grant记录含有一个CodeSource (一个指定的代码)及其permission(许可)。
----Policy文件中的每一条grant记录遵循下面的格式,以保留字“grant”开头,表示一条新的记录的开始,“Permission”是另一个保留字,在记录中用来标记一个新的许可的开始。每一个grant记录授予一个指定的代码(CodeBase)、一套许可(Permissions)。
----permission_class_name必须是一个合格并存在的类名,例如java.io.FilePermission,不能使用缩写(例如,FilePermission)。
----target_name用来指定目标类的位置,action用于指定目标类拥有的权限。
----target_name可以直接指定类名(可以是绝对或相对路径)、目录名,也可以是下面的通配符:
directory/* 目录下的所有文件
* 当前目录的所有文件
directory/- 目录下的所有文件,包括子目录
- 当前目录下的所有文件,包括子目录
文件系统中的所有文件
----对于java.io.FilePermission,action可以是:read, write, delete和execute。
----对于java.net.SocketPermission,action可以是:listen, accept,connect,read,write。
---- (3)Policy文件中的属性扩展(Property Expansion)属性扩展与shell中使用的变量扩展类似,它的格式为:
“${some.property}"
----实际使用的例子为:
permission java.io.FilePermission
“${user.home}", “read";
----“${user.home}"的值为“d:Project",因此,下面的语句和上面的语句是一样的:
permission java.io.FilePermission “d:Project ", “read";
例如
grant {
permission java.net.SocketPermission "*:8080", "connect,accept";
};
Policy文件的格式
----为了能够更好地理解下面的内容,建议在阅读时参照 jdk1.2jrelibsecurityjava.policy文件和jdk1.2jrelibsecurityjava.security文件的内容。
----Policy文件的语法格式与说明
----一个Policy文件实质上是一个记录列表,它可能含有一个 “keystore”记录,以及含有零个或多个“grant”记录。其格式如下:
keystore “some_keystore_url", “keystore_type";
grant [ SignedBy “signer_names" ] [ , CodeBase “URL" ] {
Permission permission_class_name [ “target_name" ]
[ , “action"] [, SignedBy “signer_names" ];
Permission ...
};
----(1)“keystore"记录
----一个keystore是一个私有密钥(private keys)数据库和相应的数字签名,例如X.509证书。Policy文件中可能只有一条keystore记录(也可能不含有该记录),它可以出现在文件中grant记录以外的任何地方。Policy配置文件中指定的 keystores用于寻找grant记录中指定的、签名者的公共密钥(public keys),如果任何grant 记录指定签名者(signer_names),那么,keystore记录必须出现在policy配置文件中。
----“some_keystore_url"是指keystore的URL位置, “keystore_type"是指keystore的类型。第二个选项是可选项,如果没有指定,该类型则假定由安全属性文件(java.security)中的“keystore.type"属性来确定。keystore类型定义了 keystore信息的存储和数据格式,用于保护keystore中的私有密钥和keystore完整性的算法。 Sun Microsystems支持的缺省类型为“JKS”。
---- (2)“grant"记录
----在Policy文件中的每一个grant记录含有一个CodeSource (一个指定的代码)及其permission(许可)。
----Policy文件中的每一条grant记录遵循下面的格式,以保留字“grant”开头,表示一条新的记录的开始,“Permission”是另一个保留字,在记录中用来标记一个新的许可的开始。每一个grant记录授予一个指定的代码(CodeBase)、一套许可(Permissions)。
----permission_class_name必须是一个合格并存在的类名,例如java.io.FilePermission,不能使用缩写(例如,FilePermission)。
----target_name用来指定目标类的位置,action用于指定目标类拥有的权限。
----target_name可以直接指定类名(可以是绝对或相对路径)、目录名,也可以是下面的通配符:
directory/* 目录下的所有文件
* 当前目录的所有文件
directory/- 目录下的所有文件,包括子目录
- 当前目录下的所有文件,包括子目录
文件系统中的所有文件
----对于java.io.FilePermission,action可以是:read, write, delete和execute。
----对于java.net.SocketPermission,action可以是:listen, accept,connect,read,write。
---- (3)Policy文件中的属性扩展(Property Expansion)属性扩展与shell中使用的变量扩展类似,它的格式为:
“${some.property}"
----实际使用的例子为:
permission java.io.FilePermission
“${user.home}", “read";
----“${user.home}"的值为“d:Project",因此,下面的语句和上面的语句是一样的:
permission java.io.FilePermission “d:Project ", “read";
例如
grant {
permission java.net.SocketPermission "*:8080", "connect,accept";
};
|
class路径没设置好.