dokan-java
dokan-java copied to clipboard
Dokan Java Wrapper
Dokan-Java
Dokan-Java is a Java wrapper for Dokany 1.3.0 releases and above.
Introduction
Dokany is a device driver providing an interface to develop and run your own filesystem on Windows (similar to FUSE). It is natively written in C/C++. Usually a Java developer, who would like to utilize Dokany would need to write time-consuming and error-prone JNI-Code. Dokan-java closes this gap and provides a Java interface to Dokany's API with additional convenience methods using JNA to access Dokany. Using this project you are able to implement your own filesystem on Windows... in Java!
Runtime Dependencies
dokan-java requires Java JRE 11.
All dependencies can be seen in the dependecies section of the build file. The following are the primary dependencies:
- JNA - provides access to native Dokany functions
- JUnit 5
How to Use
There are 2 ways to directly use dokan-java:
- Use a pre-built version
- Build it yourself
Pre-Built Version
Release can be found on bintray.
The project publishs to jcenter for easy integration with maven or gradle projects.
Maven
In order to include dokan-java, add jcenter as an additional repository in your pom.xml
<repositories>
<repository>
<id>jcenter</id>
<url>https://jcenter.bintray.com/</url>
</repository>
</repositories>
and add the project as a dependency:
<dependency>
<groupId>dev.dokan</groupId>
<artifactId>dokan-java</artifactId>
<version>1.1.0</version>
</dependency>
Gradle
In order to use dokan-java, add jcenter to your build.gradle
repositories {
jcenter()
}
and add the project as a dependency:
dependencies {
implementation (group:'dev.dokan', name:'dokan-java', version:'1.1.1')
}
Build Instructions
Prerequisite: JDK 11
Building a jar using Gradle:
- Open Terminal
- Navigate to the root folder of the project
- Execute
./gradlew.bat jar
To publish to your local Maven repository, execute as the third step ./gradlew.bat publishToMavenLocal
Examples
An example user filesystems using this library can be found in the examples package dev.dokan.dokan_java.examples.
Contributing
You're encouraged to contribute. Fork the code and then submit a pull request.
License
This library is licensed under GNU LGPLv3.