Trying to run a exe converted from a runnable jar, I get "Could not locate ikvm.home when establishing VFS". #353
-
Hello. In the pre revived version of ikvm, version 8.1, I could convert a runnable jar to an executable and simply run the executable (provided the ikvm runtime was in the path). But with version 8.5.0 I get the message "Could not locate ikvm.home when establishing VFS". I tried setting a IKVM_HOME environment variable but it didn't help. How can I specify this ikvm.home variable? Thanks. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
IKVM has changed significantly since then. It now requires most of what a normal JRE would require: a corresponding lib/ directory, with items like tzdata, currency.data, java.policy, java.security, etc. We also provide a full JDK release, with a bin/java.exe executable, etc, that you can use to run a traditional Java application JAR with the same options and capabilities as a normal JDK (IKVM-image). Though of course you can still run ikvmc by hand, the required options have increased, and it doesn't handle packaging up all of the required components. If you're doing this by hand, you'll need the lib/ directory from the IKVM-image release artifact. IKVM goes about locating the required JRE components using the ikvm.home property, which can be set as a Java system property during cross compilation, or in a companion ikvm.properties file, or defaults to ikvm/{rid}/ or ikvm/ in the same directory as IKVM.Runtime. The discovered value for this becomes the default value for 'java.home' as seen in a traditional JRE. |
Beta Was this translation helpful? Give feedback.
IKVM has changed significantly since then. It now requires most of what a normal JRE would require: a corresponding lib/ directory, with items like tzdata, currency.data, java.policy, java.security, etc.
We also provide a full JDK release, with a bin/java.exe executable, etc, that you can use to run a traditional Java application JAR with the same options and capabilities as a normal JDK (IKVM-image).
Though of course you can still run ikvmc by hand, the required options have increased, and it doesn't handle packaging up all of the required components. If you're doing this by hand, you'll need the lib/ directory from the IKVM-image release artifact.
IKVM goes about locating the required J…