你没有进行数字签名,只是修改了JAVA的安全策略文件,使你可以访问本地硬盘。

解决方案 »

  1.   

    1.你打算添加的那句话是改变你的系统所采用的策略文件,而并非改变策略文件本身!所以你的安全策略也没有被改变,知道么!如果你想改变的话,你可以在(举例,因为我不知道你要加上什么策略):grant{... }的}前加上permission java.lang.RuntimePermission.LoadLibrary; 就可以了.具体问题具体解决.2.不好意思,这个问题没有钻研过,无法回答
      

  2.   

    这是因为,JDK与JRE都被装在系统上,两个目录不一样,运行时你并不知道哪个被运行了。
    JDK :应修改如c:\jdk1.3.1\jre\lib\security目录下的文件。
    JRE :应修改如c:\program files\java\jre\1.3.1\lib\security中文件。
    两个都改了再试,如果不通,请检查 file:/f:/book/1/example/security
      

  3.   

    和上面说的差不多,我强调的是:    1。你的确没有修改策略文件因为系统使用策略文件是java.policy
        2。如果要使用自己的策略文件,如你所指的“policy.url.3=file:/f:/book/1/example/security”这其实没写完我估计应该是“policy.url.3=file:/f:/book/1/example/security/java.policy”应明确指出策略文件java.policy.
        3.policytool是用来修改策略文件的;用policytool修改你自己的策略文件java.policy
        4。jar, keytool, jarsigner是用来数字签名的,如果你现在只是在本机测试,先可以不管(我现在还是弄得不是很清楚,仍在看...)
        至于像 huangzt() 所说内容,其实没必要再试了,因为我已经试过了,系统只会用jre中的策略文件。即可能会在c:\program files\java\jre\1.3.1\lib\security目录下