Replies: 1 comment 3 replies
-
Title is correct. I no longer distribute a version that would work on Framework Mono. The only part that does work and that I do test is ikvmc itself, as this is required for cross compiling scenarios. |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
First of all, since Linux does not have net framework, when you unzip the net472 Linux version, there are only libXXX.so files in the bin folder.
Before .net core came out, the mono project provided mono to run .net framework assemblies on non-Windows systems. (It seems that support has been discontinued now that .net core has been introduced, but the last version can still be downloaded and installed/used.)
So, you can run .net assemblies through mono as follows:
'mono xxx.exe'
To check if IKVM also runs on mono in this way, I ran it in the format of
'mono [ikvm-jre-path]/bin/java.exe [Java class with main function]'
or
'mono [ikvm-jre-path]/bin/java.exe -jar [jar file]'
Then, in the default state, it raises an exception while searching for libraries in runtimes, as in the attached txt files.
Windows :
Win-Mono-IKVM-8.10.3-jre-net472-win-x64-default-running-Exception.txt
LInux :
Linux-Mono-IKVM-8.10.3-jre-net472-win-x64-default-running-Exception.txt
So I unzipped IKVM.8.10.X.nupkg, extracted the runtimes, and ran it. In special cases like Spring Boot, an exception occurs as in the attached file (it seems to be a problem with mono itself), but general Java class files and executable jar files run normally.
Win-Mono-IKVM-8.10.3-jre-net472-win-x64-runtimesAdded-SpringBoot-running-Exception.txt
The Windows version is supposed to look for the Windows file system, but it doesn't work on Linux, throwing an exception like the one in the attached file.
LInux-Mono-IKVM-8.10.3-jre-net472-win-x64-runtimesAdded-running-Exception.txt
Is it not possible to make it work without the runtimes folder through mono? (ikvm.dll in runtimes\win-x64\native is also included in the bin folder by default for Windows.)
Also, can't the net472 version be used in a dynamic conversion method using java.exe through mono on Linux?
(IKVM-8.10.3-jre-net472-win-x64 + IKVM.8.10.3's runtimes + libXXX.so in IKVM-8.10.3-jre-net472-linux-x64's bin)
Beta Was this translation helpful? Give feedback.
All reactions