JavaSE7 Update51で、JavaDB(derby)がNetBeansで起動できない場合の対処法メモ
JavaSE7のupdate51をインストール後、久しぶりにNetBeansでderbyに接続してみたら以下のエラーになりました。
- Java version
- Mac OS X version
- NetBeansでの接続時のエラー画面
Securityとかいままでに、全然勉強してなかったので、この記事Default Policy Implementation and Policy File Syntaxを参考にちょっと調べてみました。^^;;;
- java.securityファイル
- Test.java
[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"; };
- NetBeansで接続成功
上記の「.java.policy」ファイルを作成して、NetBeansを再起動すると接続に成功しました。
まだまだJavaで勉強しないといけないことが一杯です(汗)