jSCSI is a feature-complete iSCSI implementation in Java only. Platform-independent and fast, jSCSI represents a premium example how low-level protocols can be pushed to higher levels. jSCSI contains a server (target), a client (initiator) and common classes to work with the protocol.
- Get the latest jar over Github or Maven
<dependency>
<groupId>org.jscsi</groupId>
<artifactId>target</artifactId>
<version>2.5.2</version>
</dependency>
<dependency>
<groupId>org.jscsi</groupId>
<artifactId>initiator</artifactId>
<version>2.5.2</version>
</dependency>
- Use the target and/or the initiator-interfaces in your project
Note that the target is capable to run on its own while the initiator can only be utilized as library. To run the target, please execute:
mvn SCHEMA.xsd CONFIG.xml
The schema and an example config are accessible as download as well and included under bundles/target/src/main/resources .
For further documentation and as an example, please refer to the examples in the initiator- and target-module.
-
Run the target as standalone executable jar
- Put the target configuration XML file in a sub-folder named
config
. See alsobundles/target/src/main/resources/jscsi-target.xml
- Put the log configuration XML file in the
config
sub-folder. See alsobundles/target/src/main/resources/logback.xml
- Put commons-{version}.jar, target-{version}.jar and their dependencies jar in a sub-folder named
lib
. - Run
- Put the target configuration XML file in a sub-folder named
java \
--class-path "lib/*" \
-Dlogback.configurationFile=config/logback.xml \
org.jscsi.target.TargetServer \
config/jscsi-target.xml \
> log/console.log \
2>&1 \
&
- README: this readme file
- LICENSE: license file
- bundles: bundles containing the projects
- pom.xml: Simple pom (yes we use Maven)
- jar only:
mvn -Dmaven.test.skip=true -Dmaven.source.skip=true -Dmaven.javadoc.skip=true clean package
- jar, javadoc and sources:
mvn -Dmaven.test.skip=true -Pdoclint-java8-disable clean package
This work is released in the public domain under the BSD 3-clause license
The project is currently under refactoring, the documentation is accessible under http://jscsi.org (pointing to http://disy.github.com/jscsi/) and a mailinglist has been set up: https://mailman.uni-konstanz.de/mailman/listinfo/jscsi
- A TechReport describes the second iteration of the framework: PDF
- The framework was presented at the Jazoon '07 as work in progress: PDF
- jSCSI acted as backend for a block visualization presented at the InfoVis 2006: PDF
- Target 1.0 (english): TO FOLLOW
- Initiator 2.0 (german only): PDF
- Storage Pool (german only): PDF
- Initiator 1.0 (english): PDF
Any questions, just contact sebastian.graf AT uni-konstanz.de
jSCSI is maintained by:
- Sebastian Graf (Current Project Lead)
Former people include:
- Andreas Rain (Testing)
- Nuray Gürler (Websites Refactoring)
- Andreas Ergenzinger (jSCSI 2.0, target)
- Patrice Brend'amour (jSCSI 2.0, initiator)
- Marcus Specht (jSCSI target evaluation)
- Halddor Janetzko (Whiskas Block Visualization)
- Marc Kramis (Project Lead until 2007)
- Bastian Lemke (Storage Pool)
- Volker Wildi (jSCSI 1.0, initiator)