dokan-dev / dokan-java

Dokan Java Wrapper
GNU Lesser General Public License v3.0
51 stars 28 forks source link

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:

How to Use

There are 2 ways to directly use dokan-java:

  1. Use a pre-built version
  2. 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:

  1. Open Terminal
  2. Navigate to the root folder of the project
  3. 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.