Java run time path varaible

0
HI, I am embeddeding a third-party application, and having this error   Caused by: com.mendix.systemwideinterfaces.MendixRuntimeException: java.security.AccessControlException: access denied ("java.io.FilePermission" "C:\Program Files\Java\jdk1.8.0_91\jre\lib\el.properties" "read")   Is there a variable for java runtime (or java home) i can use to put into the policy file?   Thanks Shannon
asked
4 answers
1

Hi Shannon,

You should place them in the userlib directory of your project's deployment location. This way, Mendix will copy the files in the correct locations upon deployment.

 

Cheers,

 

John

answered
0

Hi John,

The code/logic (not mine) looks for in that path, so i am not sure i can change that, i was wondering if mendix recognizes something like {JAVA_HOME} in the policy file template.

Thanks

Shannon

answered
0

Hi Shannon,

As far as I know, you cannot access files outside your deployment environment. Copying your .jar files in the userlib folder makes them accessible in your Java actions using an import statement.

I assume ‘el’ is an expression library? I’ve included the Apache Commens jexl library in a test project and have full access to the functions by using the import statement “import org.apache.commons.jexl3.*;” in a Java Action.

 

Perhaps some of other community members more proficient in Java could chime in?

 

Cheers,

John

answered
0

Thanks John, however it is not about jars (which i can put under userlib), my third party embedde logic (not my code) will look for this file under java home (actually it just checks if there is such file),

 

i can add this line in my policy file to make it work in my local

 

  permission java.io.FilePermission "C:/Program Files/Java/jdk1.8.0_91/jre/lib/el.properties", "read";

 but i have to hard code the path, i was wondering if mendix has a variable for java home i can use instead of hard code (which i will not know where it is in the cloud).

 

Thanks

Shannon

answered