Giter Site home page Giter Site logo

hbci4java's Introduction

Build Status HBCI4Java

Vorab

Dies ist ein aktuell gepflegter Fork von HBCI4Java, welcher u.a. in Hibiscus und Pecunia-Banking zum Einsatz kommt.

Kontakt

Unter https://groups.google.com/forum/?hl=de#!forum/hbci4java findet ihr die zugehörige Mailingliste.

Entstehung

Das SVN von hbci4java.kapott.org ist schon seit einiger Zeit nicht mehr öffentlich, weil da drin wegen HBCI4Java 3 grundlegende Änderungen stattfinden (wobei ich nicht weiss, ob Stefan wirklich noch daran arbeitet) Für die letzte veröffentlichte Version 2.5.12 haben sich im Laufe der Zeit aber viele Patches angesammelt, die auf http://hbci4java.kapott.org nicht veröffentlicht wurden.

Inzwischen enthält diese Fork hier nicht mehr nur Patches sondern auch umfangreiche Weiterentwicklungen wie etwa

  • Die Unterstützung der neuen TAN-Verfahren (smsTAN, chipTAN - incl. Implementierung des HHD-Standards mit Flicker-Code)
  • Unterstützung von PC/SC-Kartenlesern via javax.smartcardio API
  • Eine aktuelle Bankenliste (mit BLZ, Server-Adresse, HBCI-Version,...)
  • Unterstützung für alle aktuellen SEPA-PAIN-Versionen
  • Unterstützung für SEPA-Überweisungen und -Lastschriften (jeweils Einzel- und Sammelaufträge) sowie SEPA-Daueraufträge

Ausgangsbasis dieser Weiterentwicklung war HBCI4Java 2.5.12 mit einigen Patches von Stefan (konkret seine SVN-Revision r227 vom 28.05.2010 - liegt im Ordner "log"). Im Ordner "log/patches" dieses Repositories hatte ich sämtliche Änderungen in Form von diff-Dateien gepflegt, um diese auch ohne Versionsverwaltungssystem noch nachvollziehen zu können. Im Zuge der Erweiterungen am SEPA-Code wurde das jedoch zu umfangreich. Der Ordner wurde zwischenzeitlich gelöscht. Die Historie der Weiterentwicklung kann über die History des GIT-Repositories nachvollzogen werden.

Releases

Du kannst HBCI4Java entweder selbst compilieren (siehe folgender Absatz) - oder du nimmst einfach fertige Releases. Aktuelle Versionen findest du immer im GitHub-Projekt von Hibiscus:

Hinweise

  • Lass dich nicht von der Versionsnummer 2.5.12 irritieren. Es ist die aktuelle Version. Ich habe mir nur abgewöhnt, die Versionsnummer im Dateinamen zu erhöhen, weil das regelmäßig dazu führte, dass User die Datei lediglich in ihren "lib"-Ordner kopierten und dort dann ein Durcheinander aus mehreren Versionen entstand. Durch Beibehalten der Versionsnummer im Dateinamen wird die alte Version immer überschrieben.
  • Immer wenn es eine Änderung im Code von HBCI4Java gab, erzeuge ich auch neue JARs in Hibiscus
  • In der History siehst du auch, welche Änderungen jeweils eingeflossen sind.

Selbst compilieren

Du benötigst:

  • Linux (unter Windows habe ich es noch nicht getestet)
  • Java 6 oder höher
  • Apache Ant
  • GNU make und GCC zum Compilieren der JNI-Libs für die CTAPI-Kartenleser-Anbindung

Wechsle in den Ordner mit der "build.xml" und führe in einer Shell folgende Befehle aus:

$> ant clean
$> ant dist

Im Ordner "dist/jar" wird eine "hbci4java.jar" erzeugt. Im Ordner "dist/lib" findest du die JNI-Libs. Das Build-Script "build.gradle" wird eigentlich nur für Travis CI benötigt. Releases können - wie oben beschrieben - mit Ant erzeugt werden.

Unit-Tests

Im Ordner "test/hbci4java" befinden sich einige JUnit-Tests. Viele davon erfordern jedoch das Vorhandensein spezieller Testumgebungen (Zugang zu Bank-Servern) bzw. vorkonfigurierte Bankzugänge. Die Tests können daher leider nicht automatisiert im Zuge der Erstellung von Deployment-Artefakten ausgeführt werden sondern nur manuell und selektiv.

hbci4java's People

Contributors

f1ori avatar fmms avatar gitwalex avatar joscha avatar jwolz avatar kicktipp avatar kjyv avatar macemmi avatar machajdik avatar ruderphilipp avatar shred avatar tbaum avatar tlei avatar willuhn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.