IKVM.Maven.Sdk 1.3.0-develop0029

Prefix Reserved
This is a prerelease version of IKVM.Maven.Sdk.
There is a newer version of this package available.
See the version list below for details.
dotnet add package IKVM.Maven.Sdk --version 1.3.0-develop0029
                    
NuGet\Install-Package IKVM.Maven.Sdk -Version 1.3.0-develop0029
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="IKVM.Maven.Sdk" Version="1.3.0-develop0029" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="IKVM.Maven.Sdk" Version="1.3.0-develop0029" />
                    
Directory.Packages.props
<PackageReference Include="IKVM.Maven.Sdk" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add IKVM.Maven.Sdk --version 1.3.0-develop0029
                    
#r "nuget: IKVM.Maven.Sdk, 1.3.0-develop0029"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=IKVM.Maven.Sdk&version=1.3.0-develop0029&prerelease
                    
Install IKVM.Maven.Sdk as a Cake Addin
#tool nuget:?package=IKVM.Maven.Sdk&version=1.3.0-develop0029&prerelease
                    
Install IKVM.Maven.Sdk as a Cake Tool

IKVM.Maven.Sdk - IKVM support for Maven dependencies

IKVM.Maven.Sdk is a set of MSBuild extensions for referencing Maven artifacts within .NET SDK projects.

To use, install the IKVM.Maven.Sdk package from NuGet, and add a <MavenReference /> element to your SDK-style project. Various Maven options are supported through item-metadata.

The simplest use case is to specify the group ID and artifact ID coordinates on the item specification, and use Version for the metadata.

<ItemGroup>
    <MavenReference Include="org.foo.bar:foo-lib" Version="1.2.3" />
</ItemGroup>

Optionally, use an arbitrary value for the item specification, and explicitely specify information through metadata:

<ItemGroup>
    <MavenReference Include="foo-lib">
      <GroupId>org.foo.bar</GroupId>
      <ArtifactId>foo-lib</ArtifactId>
      <Classifier></Classifier>
      <Version>1.2.3</Version>
    </MavenReference>
</ItemGroup>

Transitive Dependencies

The <MavenReference /> item group operates similar to a dependency in Maven. All transitive dependencies are collected and resolved, and then the final output is produced. However, unlike PackageReferences, MavenReferences are collected by the final output project, and reassessed. That is, each dependent Project within your .NET SDK-style solution contributes its MavenReferences to project(s) which include it, and each project makes its own dependency graph. Projects do not contribute their final built assemblies up. They only contribute their dependencies. Allowing each project in a complicated solution to make its own local conflict resolution attempt.

PackageReferences are supported in the same way. Projects which include MavenReferences do not pack the generated IKVM assemblies into their NuGet packages. Instead, they pack a partial POM file which only declares their dependencies. At build-time on the consumer's machine the final dependency graph is collected and generation happens. No generated assemblies are published to NuGet. This prevents possible conflicts between NuGet packages and incompatible base Java dependencies. For instance, if a package on nuget.org contained an actual copy of commons-logging.dll, there would be no guarentee that this assembly was generated with the correct options to support a different package on nuget.org that also depended on commons-logging. Since the final build machine is responsible for gathering and generating the dependencies, these conflicts become simple Maven conflicts: multiple packages dependending on differnet versions of the same thing, and Maven being unable to come up with a solution. Basically, not our problem.

MavenReferences fully support TFMs. A <MavenReference /> element can be conditional based on TFM. As the partial packaged POM-file is indexed by TFM in the generated .nupkg.

Assembly Generation

Assembly generation options are limited. Users are not allowed to customize the assembly name, version, or other optimization information that IKVM's compiler uses to produce the output. This is to ensure that NuGet packages that depend on generated assemblies do so under a certain set of assumptions that can continue to be met. As non-Java assemblies published in NuGet packages are compiled against on certain assembly names and version, allowing different people to rename or change assemblies away from their default would break the expectation that two NuGet packages that depend on the same Maven artifact resolve to the same assembly name.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

NuGet packages (7)

Showing the top 5 NuGet packages that depend on IKVM.Maven.Sdk:

Package Downloads
SaxonHE11s9apiExtensions

This is an extension method library to ease the use of an IKVM compiled version of Saxon HE 11 Java in .NET 8/9 and .NET framework 4.8(.1) applications.

SaxonHE10Net31

This is the result of IKVM cross-compiling the Saxon HE 10.9 Java software to .NET 8 and .NET 9.

SaxonHE10Net31Api

This is a port of the Saxon 10.9 .NET framework API to NET 8 and .NET 9.

MPXJ.Net

This package contains the modern .Net version of MPXJ. The Java version of MPXJ is dynamically retrieved and translated into a .Net assembly using ikvm-maven transparently as part of your project's build. The assembly included in this package wraps this translated version of MPXJ and exposes a pure C# interface to MPXJ's functionality, with standard C# types, properties and naming conventions.

Lucene.Net.Analysis.OpenNLP

OpenNLP library integration for the Lucene.NET full-text search engine library from The Apache Software Foundation. Documentation: https://lucenenet.apache.org/docs/4.8.0-beta00017/api/analysis-opennlp/Lucene.Net.Analysis.OpenNlp.html This package is part of the Lucene.NET project: https://www.nuget.org/packages/Lucene.Net/4.8.0-beta00017

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on IKVM.Maven.Sdk:

Repository Stars
apache/lucenenet
Apache Lucene.NET
sergey-tihon/Stanford.NLP.NET
Stanford NLP for .NET
Version Downloads Last updated
1.9.3 48 5/11/2025
1.9.2 4,397 3/11/2025
1.9.1 2,216 3/7/2025
1.9.0 24,948 2/4/2025
1.8.2 53,039 8/29/2024
1.8.1 733 8/27/2024
1.8.0 36,269 8/19/2024
1.8.0-pre.1 474 8/14/2024
1.7.1 13,199 7/14/2024
1.7.0 375 7/12/2024
1.7.0-pre.2 235 7/11/2024
1.6.9 34,547 3/28/2024
1.6.8 12,560 2/5/2024
1.6.7 21,495 1/10/2024
1.6.6 665 1/7/2024
1.6.5 1,465 12/14/2023
1.6.4 586 12/12/2023
1.6.3 867 12/11/2023
1.6.2 5,067 12/4/2023
1.6.1 5,369 11/1/2023
1.6.0 847 10/30/2023
1.6.0-pre.2 297 10/29/2023
1.6.0-pre.1 621 10/11/2023
1.5.5 22,075 7/7/2023
1.5.4 4,529 6/7/2023
1.5.1 430 6/6/2023
1.5.0 600 6/4/2023
1.5.0-prerelease0002 529 6/2/2023
1.5.0-prerelease0001 447 6/1/2023
1.5.0-develop0024 573 5/4/2023
1.4.1 22,779 2/8/2023
1.4.1-prerelease0002 391 2/8/2023
1.4.1-prerelease0001 507 2/7/2023
1.4.0 726 2/7/2023
1.4.0-develop0031 567 2/7/2023
1.4.0-develop0014 509 2/7/2023
1.3.0 690 2/4/2023
1.3.0-develop0029 2,099 1/11/2023
1.2.0 2,071 12/8/2022
1.1.1 933 11/20/2022
1.1.0 731 11/17/2022
1.0.2 2,824 10/13/2022
1.0.2-prerelease0014 490 10/12/2022
1.0.1 5,662 7/26/2022
1.0.1-prerelease0037 430 7/25/2022
1.0.1-prerelease0034 510 7/25/2022
1.0.1-prerelease0020 573 7/25/2022
1.0.1-prerelease0009 593 7/25/2022
1.0.0 1,420 7/6/2022