JavaSE7 Update51で、JavaDB(derby)がNetBeansで起動できない場合の対処法メモ

JavaSE7のupdate51をインストール後、久しぶりにNetBeansderbyに接続してみたら以下のエラーになりました。

  • NetBeansでの接続時のエラー画面




Securityとかいままでに、全然勉強してなかったので、この記事Default Policy Implementation and Policy File Syntaxを参考にちょっと調べてみました。^^;;;

  • java.securityファイル

policyファイルのURLは、この中で指定されてました。

[java.home][user.home]の場所は、以下の実装で確認

public class Test {
    public static void main(String[] args) {
        System.out.println(String.format("java.home=%s", System.getProperty("java.home")));
        System.out.println(String.format("user.home=%s", System.getProperty("user.home")));
    }
}
  • Test.javaの実行結果
java.home=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre
user.home=/Users/tomo
  • [user.home]配下に「.java.policy」ファイルを以下の内容で作成

grant codeBase "file:/Applications/NetBeans/glassfish-4.0/javadb/lib/*" {
    permission java.net.SocketPermission "localhost:1527", "listen, resolve";
};

上記の「.java.policy」ファイルを作成して、NetBeansを再起動すると接続に成功しました。

まだまだJavaで勉強しないといけないことが一杯です(汗)