Table of Contents

JNet: .NET suite for Java™/JVM™

JNet is a comprehensive suite of libraries and tools to use Java™/JVM™ APIs (Java, Scala, Kotlin, ...) and .NET side-by-side.

Key Features

  • Java 8+ Support - Works with legacy Java 8 systems through modern Java 25
  • Zero Migration Required - Integrate existing Java 8 code with .NET applications
  • Direct API Access - Call any Java API directly from C#/VB.NET
  • Bidirectional - Java can call .NET and vice versa (see JCOReflector)

💡 Legacy Integration: Still running Java 8 in production? JNet enables integration with modern .NET applications without requiring Java upgrades—saving months of migration work and significant costs.

Libraries and Tools

Java 8+ .NET 8+

JNet JNet.Templates JNetCLICore JNetPSCore JNetCLI JNetReflector JNetPS
JNet nuget
downloads
JNet.Templates nuget
downloads
JNetCLICore nuget
downloads
JNetPSCore nuget
downloads
JNetCLI nuget
downloads
JNetReflector nuget
downloads
JNetPS

Pipelines

CI_BUILD CodeQL CI_RELEASE

Project disclaimer

JNet is a suite for Java™/JVM™, maintained by MASES Group and open to community contributions. Its primary scope is to support other MASES Group projects — both open-source and commercial — though it is freely available for any use. Dedicated community and commercial subscription plans are available. The repository and releases may contain bugs. The release cycle depends on critical issues discovered and/or enhancement requests from this or other dependent projects.

Looking for expertise in applications mixing .NET and JVM™-enabled languages? MASES Group can help you design, build, deploy, and manage applications that run .NET and Java™/JVM™ side-by-side. Find out more.


Scope of the project

This project aims to create a set of libraries and tools to direct access, from .NET, all the features available in the Java™ Platform, this is the counterpart of JCOReflector.

There are many client libraries written to manage communication with Java™. Conversely, this project use directly the Java™ packages giving more than one benefit:

  • all implemented features are availables at no extra implementation costs, see JNet usage;
  • avoids any third party communication protocol implementation;
  • access all features made available from Java™ platform.

For example, to use a Java ArrayList directly from C#:

using Java.Util;

var alist = new ArrayList<string>();
alist.Add("Hello from JNet");

JNet maps Java types — including generics — to their C# equivalents, so you can work with them using familiar syntax without any manual marshalling or conversion.

See JNet usage for a comprehensive walkthrough.

Community and Contribution

If you find JNet useful:

  • Leave a ⭐ on the repository
  • Open issues to report bugs 🐛 or request features
  • Submit Pull Requests to improve the project

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to coc_reporting@masesgroup.com.