MASES.JCOBridge.Templates
2.4.14
dotnet new install MASES.JCOBridge.Templates::2.4.14
JCOBridge Template Usage Guide
Getting Started
Install templates
- Run the following command on a machine where .Net Core is installed:
dotnet new install JCOBridge.Examples.Templates
Now you have installed different templates: a simple console app, a simple app will show an AWT frame, a simple app will invokes scala classes, a simple app will invokes .NET from Java
All templates targets both .NET Core 3.1, .NET 5.0, .NET 6.0 and .NET Framework (> 4.6.1)
Use one template
- Run the command to install the simple console app:
dotnet new jcobridgeConsoleApp
Run the examples
- Run the application setting the location of the JRE-JVM library:
dotnet run --framework netcoreapp3.1 --JVMPath:"C:/Program Files/Java/jre1.8.0_241/bin/server/jvm.dll"
dotnet run --framework net6.0 --JVMPath:"C:/Program Files/Java/jre1.8.0_241/bin/server/jvm.dll"
dotnet run --framework net5.0 --JVMPath:"C:/Program Files/Java/jre1.8.0_241/bin/server/jvm.dll"
dotnet run --framework net461 --JVMPath:"C:/Program Files/Java/jre1.8.0_241/bin/server/jvm.dll"
Advanced: .NET invoking JVM languages
A lot of new programming languages (see List of JVM languages) use a JVM as runtime environment. The ready made template jcobridgeScalaApp is an example able to run Scala code from a .NET environment:
Use jcobridgeScalaApp template
- Run the command to install the scala app:
dotnet new jcobridgeScalaApp
Run the examples
- Run the application setting the location of the JRE-JVM library:
dotnet run --framework netcoreapp3.1 --JVMPath:"C:/Program Files/Java/jre1.8.0_241/bin/server/jvm.dll"
dotnet run --framework net6.0 --JVMPath:"C:/Program Files/Java/jre1.8.0_241/bin/server/jvm.dll"
dotnet run --framework net5.0 --JVMPath:"C:/Program Files/Java/jre1.8.0_241/bin/server/jvm.dll"
dotnet run --framework net461 --JVMPath:"C:/Program Files/Java/jre1.8.0_241/bin/server/jvm.dll"
Advanced: JVM invoking .NET API
Another use of JCOBridge is to invoke .NET API from JVM (or JVM enabled languages). The jcobridgeJavaNativeApp template is the starting point to write code in JVM which invokes .NET API. Any JVM enabled language (see List of JVM languages) can be used instead of Java to invoke .NET API. The template can be the starting point to use IoT boards with ready made packages for GPIO management from any JVM enabled language.
Use jcobridgeJavaNativeApp template
This template needs a JDK to be used because the Java side needs to be compiled.
- Run the command to install the template app:
dotnet new jcobridgeJavaNativeApp
Compile the .NET side of the project
- In the project root folder run the following command:
dotnet build net/jcobridgeJavaNativeApp.csproj
Compile the Java side of the project (optional)
- This step is optional beacuse the template comes with a compiled version of JavaNativeApp.java. Otherwise, in the project root folder run the following command:
javac src/JavaNativeApp.java -cp OutputNugetCore/netcoreapp3.1/JCOBridge.jar
Run Java code
- In the project root folder run the following command:
Windows: java -cp OutputNugetCore/netcoreapp3.1/JCOBridge.jar;./src JavaNativeApp
Linux: java -cp OutputNugetCore/netcoreapp3.1/JCOBridge.jar:./src JavaNativeApp
or
- Open your preferred Java editor in the example root and run the java code.
-
.NETCoreApp 3.1
- No dependencies.
-
.NETFramework 4.6.1
- No dependencies.
-
net5.0
- No dependencies.
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Template version update