MASES.JCOBridge
2.6.10
Prefix Reserved
dotnet add package MASES.JCOBridge --version 2.6.10
NuGet\Install-Package MASES.JCOBridge -Version 2.6.10
<PackageReference Include="MASES.JCOBridge" Version="2.6.10" />
<PackageVersion Include="MASES.JCOBridge" Version="2.6.10" />
<PackageReference Include="MASES.JCOBridge" />
paket add MASES.JCOBridge --version 2.6.10
#r "nuget: MASES.JCOBridge, 2.6.10"
#:package MASES.JCOBridge@2.6.10
#addin nuget:?package=MASES.JCOBridge&version=2.6.10
#tool nuget:?package=MASES.JCOBridge&version=2.6.10
JCOBridge
JCOBridge lets .NET and Java™/JVM™ code call each other in the same process.
- Information and examples on www.jcobridge.com.
- Templates are available on NuGet JNet Templates.
- Other products extending JCOBridge: www.jcobridge.com/products.
- GitHub hosts some public repositories based on JCOBridge:
Field proven
Built on top of the field-proven DLR plugin available in the Sinapse platform, JCOBridge is designed for high performance in the integration of the JVM and CLR worlds.
Supported platforms
- .NET Framework 4.6.2+ (Windows only) and the .NET versions currently supported by Microsoft
- Windows (x86/x64/Arm64), Linux (x64/Arm/Arm64) and macOS (x86_64/Aarch64)
- Any JVM from 8 to latest
- Other platforms, architectures and out-of-support .NET targets are available on request
Note: public releases follow the Microsoft .NET support lifecycle: when Microsoft ends support for a .NET version, that target is dropped starting with the next JCOBridge release.
Need a build for a legacy or out-of-support target, or expert help with .NET and JVM™ integration? See www.jcobridge.com.
Features
CLR
- Retrieve a JVM
Class, either directly or as in Java with the .class keyword - Instantiate JVM objects, either directly or using the dynamic feature of .NET
- Invoke static methods, either directly on a previously retrieved
Classor using dynamic - Invoke instance methods, either directly on a previously instantiated object or using dynamic
- Get/Set static fields, either directly on a previously retrieved
Classor using dynamic - Get/Set instance fields, either directly on a previously instantiated object or using dynamic
- Use dynamic access to write code in a seamless way, as in Java
- Use specific interfaces to manage methods and fields directly
- Support classes to simplify bridging of Java classes from .NET
- Send data back to the JVM from the .NET side upon events
- Exceptions managed by the core and translatable into .NET exceptions
- Management of user interface controls, properties and events
- Integrate Java UI (AWT/Swing/SWT) into WPF/WinForms (from version 2.2)
JVM
- Retrieve a CLR
Type - Instantiate CLR objects
- Invoke static methods on a previously retrieved
Type - Invoke instance methods on a previously instantiated object
- Get/Set static properties on a previously retrieved
Type - Get/Set instance properties on a previously instantiated object
- Set delegates
- Subscribe/Unsubscribe events
- Integrate WPF controls into an AWT/Swing window
- Integrate WinForms controls into an AWT/Swing window
- Integrate complex .NET graphical user interface objects into an AWT/Swing window
- Management of user interface controls, properties and events
JCOBridge 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;
}
}
JCOBridge lets you use the previous Java class from C#, both static and instance methods.
How to call Java code
Define a class that uses the Java code:
class MyJavaUsingClass : SetupJVMWrapper
{
public void Execute()
{
string hello = DynJVM.MyJavaClass.myStaticJavaHelloWorld();
Console.WriteLine(hello); // Prints "Hello Static World from Java!!"
var myJavaClass = DynJVM.MyJavaClass.@new();
hello = myJavaClass.myJavaHelloWorld();
Console.WriteLine(hello); // Prints "Hello World from Java!!"
double result = myJavaClass.myJavaAdd(2.0, 3.0);
Console.WriteLine("{0:0.0}", result); // Prints "5.0"
}
}
Create the class and 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 examples are available on the JCOBridge website.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. net11.0 is compatible. |
| .NET Framework | net462 is compatible. 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 (2)
Showing the top 2 NuGet packages that depend on MASES.JCOBridge:
| Package | Downloads |
|---|---|
|
MASES.JNet
.NET suite for Java™/JVM™ - a comprehensive suite of libraries and tools to use Java™/JVM™ APIs (Java, Scala, Kotlin, ...) and .NET side-by-side |
|
|
MASES.JCOReflectorEngine
JCOReflector Engine - JCOBridge based Java class generator that mimic .NET classes |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 2.6.10 | 0 | 11/12/2026 | |
| 2.6.10-preview.9 | 266 | 11/10/2026 | |
| 2.6.10-preview.8 | 274 | 11/10/2026 | |
| 2.6.10-preview.7 | 838 | 10/30/2026 | |
| 2.6.10-preview.6 | 1,216 | 10/24/2026 | |
| 2.6.10-preview.5 | 1,668 | 10/15/2026 | |
| 2.6.10-preview.4 | 974 | 9/30/2026 | |
| 2.6.10-preview.3 | 477 | 9/15/2026 | |
| 2.6.10-preview.2 | 810 | 8/23/2026 | |
| 2.6.10-preview.1 | 298 | 8/10/2026 | |
| 2.6.9 | 202,245 | 6/11/2026 |