I have tried to run Freeplane from IntelliJ IDEA Community 2016.2. As a result I receive java.security.AccessControlException: access denied ("java.util.PropertyPermission" "*" "read,write")
I have used the following options:
Main class: org.freeplane.launcher.Launcher
VM options: -Xmx512m "-Dorg.freeplane.basedirectory=$ProjectFileDir$freeplane/../BUILD" "-Djava.security.policy=$ProjectFileDir$freeplane_framework/eclipse/launchers/freeplane.policy" "-Dframework.home=${system_property:user.home}/.gradle/caches/modules-2/files-2.1/org.knopflerfish/framework" "-Dorg.freeplane.main.application.FreeplaneSecurityManager.disable=true"
Working directory: D:\Users\Henk\IntelliJ\freeplane_src
Use classpath of module: freeplane_framework
JRE: JDK 1.8
This is log with the java.security.AccessControlException:
"D:\Program Files\Java\jdk1.8.0_102\bin\java" -Xmx512m -Dorg.freeplane.basedirectory=$ProjectFileDir$freeplane/../BUILD -Djava.security.policy=$ProjectFileDir$freeplane_framework/eclipse/launchers/freeplane.policy -Dframework.home=${system_property:user.home}/.gradle/caches/modules-2/files-2.1/org.knopflerfish/framework -Dorg.freeplane.main.application.FreeplaneSecurityManager.disable=true -Didea.launcher.port=7534 "-Didea.launcher.bin.path=D:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2016.2.4\bin" -Dfile.encoding=UTF-8 -classpath "D:\Users\Henk\IntelliJ\freeplane_src\freeplane_framework\bin;D:\Program Files\Java\jdk1.8.0_102\jre\lib\charsets.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\deploy.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\ext\access-bridge.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\ext\cldrdata.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\ext\dnsns.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\ext\jaccess.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\ext\jfxrt.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\ext\localedata.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\ext\nashorn.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\ext\sunec.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\ext\sunjce_provider.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\ext\sunmscapi.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\ext\sunpkcs11.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\ext\zipfs.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\javaws.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\jce.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\jfr.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\jfxswt.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\jsse.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\management-agent.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\plugin.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\resources.jar;D:\Program Files\Java\jdk1.8.0_102\jre\lib\rt.jar;D:\Users\Henk\.gradle\caches\modules-2\files-2.1\org.knopflerfish\framework\7.1.2\309a2759e838b49b80d425018c3efe5541b7f1f\framework-7.1.2.jar;D:\Users\Henk\.gradle\caches\modules-2\files-2.1\junit\junit\4.11\4e031bb61df09069aeb2bffb4019e7a5034a4ee0\junit-4.11.jar;D:\Users\Henk\.gradle\caches\modules-2\files-2.1\org.hamcrest\hamcrest-core\1.3\42a25dc3219429f0e5d060061f71acb49bf010a0\hamcrest-core-1.3.jar;D:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2016.2.4\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain org.freeplane.launcher.Launcher org.knopflerfish.framework.readonly=true org.knopflerfish.gosg.jars=reference:file:D:\Users\Henk\IntelliJ\freeplane_src\BUILD\core/ org.freeplane.basedirectory=D:\Users\Henk\IntelliJ\freeplane_src\BUILD org.freeplane.globalresourcedir=D:\Users\Henk\IntelliJ\freeplane_src\BUILD\resources org.osgi.framework.storage=D:\Users\Henk\IntelliJ\freeplane_src\BUILD\fwdir Exception in thread "main" java.security.AccessControlException: access denied ("java.util.PropertyPermission" "*" "read,write") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) at java.security.AccessController.checkPermission(AccessController.java:884) at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at java.lang.SecurityManager.checkPropertiesAccess(SecurityManager.java:1262) at java.lang.System.getProperties(System.java:630) at org.knopflerfish.framework.Main.populateSysProps(Main.java:1125) at org.knopflerfish.framework.Main.<init>(Main.java:163) at org.knopflerfish.framework.Main.main(Main.java:152) at org.freeplane.launcher.Launcher.run(Launcher.java:108) at org.freeplane.launcher.Launcher.launch(Launcher.java:73) at org.freeplane.launcher.Launcher.main(Launcher.java:66) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) Process finished with exit code 1
Discontinued Forums replaced by GitHub: IntelliJ IDEA and Gradle useful for add-on development?
Have you pulled the last code from github and compiled it with gradle already?
Hi Dimitry,
Since I do not have set up git for Freeplane on github I have just copied the latest version Launcher.java from github and pasted into the source of 1.5.15. That should be sufficient, right?
I still get a java.security.AccessControlException:
Hi Dimitry,
I repeated with completely replacing the source code with the most recent one from github and compiling it with github. I got exactly the same result in the log as when just replacing Launcher.java.
Cheers,
Henk
As a workaround pllease try to create policy file grantAllPermissions.policy with content
and reference it using property java.security.policy
(using the correct path)
Last edit: Dimitry Polivaev 2016-09-17
HI Dimitry,
That worked. I also found out that the path to freeplane.policy was not correct. After I had corrected it, it still gave the same error.
What is the consequence of granting all permissions? Could it be that an add-on is working when you test it in your IDE and that you get a permission error when you run it on a installed instance of Freeplane?
Cheers,
Henk
Yes, and therefore it is just a work around until I check it completely and define better policy file which works with IntelliJ
After some googling I have tried adding the following to freeplane.policy, but it did not solve the problem.
Now I tried it myself and it worked flawlessly. I attached a screenshot of my debug configuration.
It looks like no change in freeplane is needed.
Can you confirm it?
Can I close this bug report?
To get there I performed following steps:
HI Dimitry,
I tested it: it works fine. Is there any difference between launching it from freeplane_framework\build\classes\main\org\freeplane\launcher\Launcher.class or BUILD\freeplanelauncher.jar? I do not see any difference in the logging.
You can close the bug report.
Cheers,
Henk
Now there is a new launch configuration for IntelliJ which makes possible to compile and debug Freeplane directly under IntelliJ, check https://www.freeplane.org/wiki/index.php/IDE_setup#IntelliJ