Naven: .NET suite for Apache Maven™

Naven is a comprehensive suite of libraries and tools to use Apache Maven™ and .NET side-by-side.

Libraries and Tools

Naven Naven.Templates NavenCLI NavenPS
Naven nuget
downloads
Naven.Templates nuget
downloads
NavenCLI nuget
downloads
NavenPS

Pipelines

CI_BUILD CodeQL CI_RELEASE

Project disclaimer

Naven is a suite for Apache Maven™, curated by MASES Group, can be supported by the open-source community.

Its primary scope is to support other, public or internal, MASES Group projects: open-source community and commercial entities can use it for their needs and support this project, moreover there are dedicated community and commercial subscription plans.

The repository code and releases may contain bugs, the release cycle depends from critical discovered issues and/or enhancement requested from this or other projects.

Looking for the help of experts? MASES Group can help you design, build, deploy, and manage applications managing PDF documents.


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 Apache Maven™.

See Naven usage for a comprehensive example.

Community and Contribution

Do you like the project?

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

News


Runtime engine

Naven uses JNet, and indeed JCOBridge with 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 APIs extensibility.

JCOBridge resources

Have a look at the following JCOBridge resources: