JCOBridge 2.1.0
dotnet add package JCOBridge --version 2.1.0
NuGet\Install-Package JCOBridge -Version 2.1.0
<PackageReference Include="JCOBridge" Version="2.1.0" />
paket add JCOBridge --version 2.1.0
#r "nuget: JCOBridge, 2.1.0"
// Install JCOBridge as a Cake Addin
#addin nuget:?package=JCOBridge&version=2.1.0
// Install JCOBridge as a Cake Tool
#tool nuget:?package=JCOBridge&version=2.1.0
JCOBridge main features
Field proven Built on top of the field proven DLR plugin available in the Sinapse platform (https://www.sinapsesystem.com), JCOBridge guarantees the best performance in JVM and CLR worlds integration.
CLR : Available for .NET Framework for Windows on www.jcobridge.com and .NET Core on Windows and Linux (other platforms/architectures available on demand)
- Retrieve JVM class
- Instantiate JVM objects
- Invoke static methods
- Invoke instance methods
- Get/Set static fields
- Get/Set instance fields
- Use dynamic access to write code in a seamless way as it is done in Java language
- Use specific interface to direct manages methods and fields
- User interface Controls, properties and events management
JVM : Available for .NET Framework on www.jcobridge.com and .NET Core Windows x86/x64, Linux x64 (other platforms/architectures available on demand)
- Retrieve CLR Type
- Instantiate CLR object
- Invoke static methods
- Invoke instance methods
- Get/Set static properties
- Get/Set instance properties
- Set Delegates
- Subscribe/Unsubscribe events
- Integrates WPF controls into AWT/Swing window (experimental on .NET Core, use the version on Windows in production)
- Integrate WinForms controls into AWT/Swing window (experimental on .NET Core, use the version on Windows in production)
- Integrate complex .NET Graphical user interfaces objects into AWT/Swing window (experimental on .NET Core, use the version on Windows in production)
- User interface Controls, properties and events management (experimental on .NET Core, use the version on Windows in production)
JCOBridge Coding simple example
Imagine you have the following Java Class:
public class MyJavaClass
{
//Static member
static public String myStaticJavaHelloWorld()
{
return "Hello Static World from Java!!";
}
//Instance member
public String myJavaHelloWorld()
{
return "Hello World from Java!!";
}
//Instance member
public double myJavaAdd(double a, double b)
{
return a+b;
}
}
you can call the previous Java class from C# using JCOBridge access to static and instance methods.
How to call Java code
Define a class that use the Java code:
class MyJavaUsingClass : SetupJVMWrapper
{
public void Execute()
{
string hello = DynJVM.MyJavaClass.myStaticJavaHelloWorld();
Console.WriteLine(hello); //Print "Hello Static World from Java!!"
var myJavaClass = DynJVM.MyJavaClass.@new();
hello = myJavaClass.myJavaHelloWorld();
Console.WriteLine(hello); //Print "Hello World from Java!!"
double result = myJavaClass.myJavaAdd(2.0, 3.0);
Console.WriteLine("{1:0.0}",result); //Print "5.0"
}
}
Add JCOBridge initialization before call the Execute method.
using MASES.LicenseManager.Common;
using MASES.JCBridge.C2JBridge;
using System;
static void Main(string[] args)
{
MyJavaUsingClass JavaTest = new MyJavaUsingClass();
JavaTest.Execute();
}
Other JCOBridge Examples
More information and more complex examples on www.jcobridge.com. Meanwhile try the NuGet templates package with ready to use projects. NuGet JCOBridge Templates
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
.NET Framework | net461 is compatible. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
This package has 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.
Version | Downloads | Last updated |
---|
Version 2.1.0:
This update introduces the general availability to invoke .NET Core API from Java. With this update both .NET Core and .NET Framework are aligned with a complete bidirectional communication between JVM and CLR.
News in this update:
- New command line switch available for Java
Known limitations:
- The NET Core initialization libraries are available for Windows x86/x64 and Linux x64. Other platforms available on demand.
- .NET Core Type identification from Java code needs an explicit assembly qualified name: it will be updated in a future release; .NET Framework has a better type resolver.
- WindowsDesktop is an experimental feature. Do not use it in production: use the version available on https://www.jcobridge.com/ instead.
Version 2.0.1:
This is critical patch update to solve an issue revelead in version 2.0.0.0. The previous version will be retired.
Other news in this update:
- Added missing J2CBridge wrapping libraries for Linux x86/x64
- New command line switch for license search path
- Simplified usage of SetupJVMWrapper initialization class