MASES.JNet.Templates
2.0.0
See the version list below for details.
dotnet new install MASES.JNet.Templates::2.0.0
JNet: Java/JVM suite for .NET
JNet is a comprehensive suite of libraries and tools to use Java/JVM APIs (Java, Scala, Kotlin, ...) and .NET side-by-side.
Libraries and Tools
JNet | JNet.Templates | JNetPSCore | JNetCLI | JNetReflector | JNetPS |
---|---|---|---|---|---|
<br/> | <br/> | <br/> | <br/> | <br/> |
Pipelines
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.
So, for example, do you want an ArrayList
? Just write in C# a line of code like this:
Java.Util.ArrayList<string> alist = new Java.Util.ArrayList<string>();
See JNet usage for a comprehensive example.
Community and Contribution
Do you like the project?
- Request your free community subscription.
Do you want to help us?
- put a ⭐ on this project
- open issues to request features or report bugs 🐛
- improves the project with Pull Requests
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.
Summary
- Roadmap
- Actual state
- JNet usage
- JNet APIs extensibility
- JNet CLI usage
- JNet Reflector usage
- JNet PowerShell usage
News
- V1.4.8+: From version 1.4.8 there is a new project, named JNetReflector (still in development phase), able to build C# gateway classes from JARs containing the JVM classes, exactly the same JCOReflector does for .NET in JVM.
- V1.4.9+: From version 1.4.9 there are two new projects:
- JNetPSCore: the core library for PowerShell development, it can be extended in other projects based on JNet;
- JNetPS: a PowerShell module to use JNet within a PowerShell shell.
- V1.5.2+: strong improvement of JNetReflector; it is used to generate almost all Java 11 classes available in the corresponding JNet version
- V1.5.3+: JNetReflector manages generics and almost all classes of Java SE 11 are covered: see JNet Reflector usage
- V2.0.0+: the most notable changes in this version are in:
- JNet: complete review of all classes based on automatic generation done using JNetReflector
- JNetReflector: improvements in many areas from generation of .NET interfaces to generics and where clauses, full story in https://github.com/masesgroup/JNet/issues/178
Runtime engine
JNet uses JCOBridge, and its features, to obtain many benefits:
- Cyber-security:
- JVM and CLR, or CoreCLR, runs in the same process, but are insulated from each other;
- JCOBridge does not make any code injection into JVM;
- JCOBridge does not use any other communication mechanism than JNI;
- .NET (CLR) inherently inherits the cyber-security levels of running JVM;
- Direct access the JVM from any .NET application:
- Any Java/Scala/Kotlin/... class can be directly managed;
- No need to learn new APIs: we try to expose the same APIs in C# style;
- No extra validation cycle on protocol and functionality: bug fix, improvements, new features are immediately available;
- Documentation is shared;
- Dynamic code: it helps to write a Java/Scala/Kotlin/etc seamless language code directly inside a standard .NET application written in C#/VB.NET: look at this simple example and JNet APIs extensibility.
JCOBridge resources
Have a look at the following JCOBridge resources:
- Release notes
- Community Edition
- Commercial Edition
- Latest release:
-
.NETFramework 4.6.2
- Microsoft.Bcl.AsyncInterfaces (>= 7.0.0)
-
net6.0
- No dependencies.
-
net7.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.
Version | Downloads | Last updated |
---|---|---|
2.5.10 | 70 | 11/4/2024 |
2.5.9 | 95 | 9/19/2024 |
2.5.8 | 81 | 7/31/2024 |
2.5.7 | 66 | 7/30/2024 |
2.5.6 | 73 | 7/28/2024 |
2.5.5 | 155 | 6/27/2024 |
2.5.4 | 109 | 6/22/2024 |
2.5.3 | 102 | 6/18/2024 |
2.5.2 | 101 | 6/11/2024 |
2.5.1 | 233 | 5/25/2024 |
2.5.0 | 345 | 5/14/2024 |
2.4.0 | 778 | 2/29/2024 |
2.3.0 | 595 | 2/20/2024 |
2.2.5 | 836 | 1/30/2024 |
2.2.4 | 383 | 1/27/2024 |
2.2.3 | 457 | 1/24/2024 |
2.2.2 | 379 | 1/24/2024 |
2.2.1 | 546 | 1/20/2024 |
2.2.0 | 488 | 1/17/2024 |
2.1.1 | 1,337 | 12/18/2023 |
2.1.0 | 1,100 | 11/25/2023 |
2.0.2 | 1,525 | 10/18/2023 |
2.0.1 | 826 | 7/11/2023 |
2.0.0 | 650 | 7/5/2023 |
1.5.5 | 862 | 5/5/2023 |
1.5.4 | 895 | 4/16/2023 |
1.5.3 | 737 | 4/10/2023 |
1.5.2 | 854 | 3/13/2023 |
1.5.1 | 892 | 2/9/2023 |
1.5.0 | 735 | 2/8/2023 |
1.4.15 | 930 | 11/21/2022 |
1.4.14 | 771 | 11/9/2022 |
1.4.13 | 900 | 11/9/2022 |
1.4.12 | 965 | 10/30/2022 |
1.4.11 | 1,015 | 10/27/2022 |
1.4.8 | 994 | 10/20/2022 |
1.4.7 | 974 | 10/13/2022 |
1.4.6 | 1,093 | 8/18/2022 |
1.4.5 | 1,004 | 8/5/2022 |
1.4.4 | 1,092 | 6/19/2022 |
1.4.3 | 1,020 | 5/19/2022 |
1.4.2 | 1,074 | 5/7/2022 |
1.4.1 | 962 | 4/29/2022 |
1.4.0 | 1,003 | 4/13/2022 |
1.3.0 | 1,039 | 3/28/2022 |
1.2.0 | 964 | 3/25/2022 |
1.1.1 | 986 | 3/19/2022 |
1.1.0 | 1,028 | 3/19/2022 |
1.0.0 | 1,078 | 3/19/2022 |