我正在尝试编写一个小的Java小程序来读取用户浏览历史记录。因此,我需要做的就是读取用户本地文件系统上的文件。
虽然我没有成功。当我尝试使用JNLP API的ExtendedService openFile()时,getInputStream()失败并出现IOException。我尝试使用FileOpenService openFileDialog(),但是当对话框打开时,目录显示为空或者具有不可访问的图标。
此处的屏幕打印:http://timewitnesser.com/publisher/screenshot1.png和此处http://timewitnesser.com/publisher/screenshot2.png
我如何构建和部署它的一些细节:我基本上遵循Java applet的部署指南:docs.oracle.com/javase/tutorial/deployment/applet/deployingApplet.html
我使用jnlp文件启动applet。我尝试将安全性设置为所有权限或未指定。这是jnlp文件的代码:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="" href="">
<information>
<title>History Reader</title>
<vendor>QualityWeb</vendor>
</information>
<resources>
<j2se version="1.7+"
href="http://java.sun.com/products/autodl/j2se" />
<jar href="HistoryReaderApplet.jar" main="true" />
</resources>
<security>
<all-permissions/>
</security>
<applet-desc
name="History Reader Applet"
main-class="historyreaderapplet.HistoryReaderApplet"
width="300"
height="300">
</applet-desc>
<update check="background"/>
</jnlp>
在我的html页面中,我使用以下代码启动它:
<script src="https://www.java.com/js/deployJava.js"></script>
<script>
var attributes = {
code:'historyreaderapplet.HistoryReaderApplet', width:300, height:300} ;
var parameters = {jnlp_href: 'historyreader_applet.jnlp'} ;
deployJava.runApplet(attributes, parameters, '1.7');
</script>
我使用jar命令构建jar,包括一个清单,其中我指定了java指南中提到的3行,包括“Permission one”。我使用的命令是jar cvfm HistoryReaderApplet.jar mymanifest.txt historyreaderapplet
知道可能是什么问题吗?
编辑:这是Janela的报告,我只包括红色部分:cvc-complex-type.2.4.a: Invalid content was found starting with element 'security'. One of '{resources, application-desc, applet-desc, component-desc, installer-desc}' is expected.
cvc-complex-type.2.4.a: Invalid content was found starting with element 'security'. One of '{resources, application-desc, applet-desc, component-desc, installer-desc}' is expected.
Codebase '' is a malformed URL! Defaulting to http://timewitnesser.com/publisher/historyreader_applet.jnlp
Codebase '' is a malformed URL! Defaulting to http://timewitnesser.com/publisher/historyreader_applet.jnlp
Codebase '' is a malformed URL! Defaulting to http://timewitnesser.com/publisher/historyreader_applet.jnlp
Codebase '' is a malformed URL! Defaulting to http://timewitnesser.com/publisher/historyreader_applet.jnlp
在我看来,第一行可能是原因,但我不理解它们。是不是“安全”标签应该是jnlp标签的直接子项?