Error: Unable to access jarfile javaprinter.jar

In diesem Forum können Fragen zum OrderSprinter gestellt werden.
Jochen
Beiträge: 10
Registriert: Fr 15. Mär 2019, 17:03

Error: Unable to access jarfile javaprinter.jar

Beitrag von Jochen »

Hallo Stefan,

ich wollte heute einen Bondrucker nach deiner Raspi Anleitung installieren.
Anstelle des Ordners /home/stefan/ habe ich den javaprinter bei mir nach /home/pi/ kopiert.
Wenn ich den JavaPrinter dann aber starten möchte, erhalte ich diese Fehlermeldung

Error: Unable to access jarfile javaprinter.jar

Was mache ich falsch?

Schöne Grüße
Jochen
Ordersprinter 2.0.11 | Windows10 auf Proxmox VE Server mit XAMPP | Windows Printserver | KKmoon 58-IV-U Bonprinter | Metapace K-2 Kassenschublade | DingSheng 10,1 Zoll Android Tablet | SumUp Air
pichel
Administrator
Beiträge: 1171
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: Error: Unable to access jarfile javaprinter.jar

Beitrag von pichel »

Hallo Jochen,

du hast also folgenden Aufruf gemacht?

Code: Alles auswählen

java -jar /home/pi/javaprinter.jar /home/pi/config.json
und in /home/pi ist die Jahr-Datei auch tatsächlich enthalten, oder in einem der Unterordner?

Vielleicht kannst du mir einen Screenshot schicken, in dem auch die Ausgabe von

Code: Alles auswählen

ls -ltra /home/pi
enthalten ist?

Gruß,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Jochen
Beiträge: 10
Registriert: Fr 15. Mär 2019, 17:03

Re: Error: Unable to access jarfile javaprinter.jar

Beitrag von Jochen »

Hallo Stefan,

ich habe diesen Aufruf aus der Anleitung zum Raspi gemacht:

Code: Alles auswählen

sudo java -jar javaprinter.jar /home/stefan/javaprinter/config.json
Und die .jar Datei befindet sich wie in der Anleitung unter /home/pi/javaprinter/ Das hat ja nicht funktioniert.

Nachdem ich deine Antwort gelesen habe, liegen die Dateien aus dem Ordner ../javaprinter jetzt direkt in /home/pi
Somit hat der Aufruf

Code: Alles auswählen

java -jar /home/pi/javaprinter.jar /home/pi/config.json
funktioniert.

Allerdings erhalte ich jetzt Fehlermeldungen aufgrund Zugriffs Berechtigungen.
Der Dateianhang Fehlermeldung.PNG existiert nicht mehr.
Folgende USB Geräte werden mir unter lsusb angezeigt:
Der Dateianhang lsusb.PNG existiert nicht mehr.
Der Drucker wird hierbei unter Bus001 Device008 mit der ID 0416:5011 angezeigt. Er ist direkt per USB im Raspi eingesteckt.
Anbei der Bondrucker, den ich versuche einzurichten:
Selftest.jpg
Selftest.jpg (57.13 KiB) 2574 mal betrachtet
Und Hier noch die config.json die ich wiefolgt angepasst habe

Code: Alles auswählen

{
   "instance" : 1,
   "vendorid" : "0416",
   "productid" : "5011",
   "printersize" : 32,
   "printcode" : "123",
   "baseurl":"http://localhost",
   "baseusername" : "",
   "basepass" : "",
   "escinits" : [ 27, 64, 27, 116, 0 ],
   "escposts" : [ 29, 86, 66, 10, 27, 64],
   "useeveryprintdevice" : 0,
   "verbose_closing_summary" : 1,
   "smallformat" : 1,
   "logoscale" : 1.0
}
Es sieht so aus, als würde nicht direkt der Drucker angesprochen werden können, sondern ein USB-RS232 Adapter, der direkt im Gerät verbaut ist.
Bei der Lieferung lag auch eine Treiber CD für Windows dabei. An einem Windows PC habe ich Ihn noch nicht ausprobiert.

Folgender "Selftest" lag bei dem Drucker dabei:
Selftest.jpg
Selftest.jpg (57.13 KiB) 2574 mal betrachtet
In einem anderen Beitrag hast du den Tipp gegeben, dass einige Drucker einen POS Umschalter haben. So etwas konnte ich nicht finden bzw. auch im Inneren sind keine Dip Schalter.

Würde das evtl. mit diesem Drucker nicht funktionieren? Weiter ist an dem Drucker eine Kassenlade eingesteckt. Diese soll später einmal automatisch geöffnet werden, sobald der Kassenbon gedruckt wird. Welche Einstellungen müssen hierfür wo gemacht werden?

Danke und Schöne Grüße

Jochen
Ordersprinter 2.0.11 | Windows10 auf Proxmox VE Server mit XAMPP | Windows Printserver | KKmoon 58-IV-U Bonprinter | Metapace K-2 Kassenschublade | DingSheng 10,1 Zoll Android Tablet | SumUp Air
pichel
Administrator
Beiträge: 1171
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: Error: Unable to access jarfile javaprinter.jar

Beitrag von pichel »

Hallo Jochen,

schade, dass die Dateianhänge der Fehlermeldung und von lsusb nicht vorhanden sind, aber wenn du schreibst, dass eine Fehlemeldung bezüglich Zugriffsrechten gekommen sei, könnte es sich darauf beziehen, dass der Account, unter dem der Java-Prozess ausgeführt werden soll, nicht auf den USB-Port zugreifen darf.

Im ersten Code-Beispiel hast du "sudo java..." benutzt, im zweiten hast du das "sudo" weggelassen. Wenn das nicht nur ein Tippfehler für den Beitrag hier war, möchte ich dich bitten, es mit "sudo java" nochmals zu versuchen. Hintergrund: Wird java per sudo aufgerufen, so werden die Rechte des root-Accounts verwendet, und der hat in der Regel die Berechtigung für den Schreibzugriff auf die USB-Ports.

Es ist eigentlich egal, ob ein RS232-USB-Adapter im Gerät verbaut ist, solange man die richtige VendorID/ProductID angibt.

Wenn sich die Kassenlade öffnen soll, funktionieren in der Regel folgende Werte: 27, 112, 0, 40, 50 (Pin 2) oder 27, 112, 1, 40, 50 (Pin 5). Diese Werte kann man entweder in der config.json als escposts anhängen (dann wird sich die Schublade immer nach einem Ausdruck öffnen), oder am Ende in der Vorlage des Kassenbons

Code: Alles auswählen

{RawD: 10 11 12}
. In diesem Fall wird sich die Lade nur beim Drucken von Kassenbons öffnen.

Einige Drucker haben jedoch eigene Codes für die Kassenlade, dann hilft nur das Druckerhandbuch oder googeln...

Viele Grüße,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Jochen
Beiträge: 10
Registriert: Fr 15. Mär 2019, 17:03

Re: Error: Unable to access jarfile javaprinter.jar

Beitrag von Jochen »

Hallo Stefan,

natürlich hast du recht. Ich hatte sudo vergessen :roll:
Damit lies sich der Javaprinter dann auch ohne Fehler starten und die Bons werden gedruckt.
20190316_171328.jpg
20190316_171328.jpg (119.44 KiB) 2563 mal betrachtet
Ich werde das sowieso nach /usr/local/bin verschieben, dass es dann auch automatisch startet.

Auch haben deine Vorgaben für das Öffnen der Kassenschublade funktioniert. Diese wird, sobald der Bon gedruckt wird, geöffnet.
Ich werde morgen mal etwas mit den Einstellungen rumspielen, da wie von dir beschrieben, jetzt bei jedem Druck die Lade geöffnet wird.

Besteht evtl. die Möglichkeit, sobald man den Kassen Button betätigt, die Unterscheidung zwischen Zahlung und Bondruck zu kombinieren?
Also, dass zb. der Button Bondruck nicht angezeigt wird und die Funktion mit in dem Button Zahlung hinterlegt wird?
Der Hintergrund ist der, dass wir nur einen Benutzer für die Kellneransicht verwenden (Wir sind ein Verein). Und da wir so einige "verträumte" Benutzer haben, befürchte ich, dass diese bei Bezahlung nicht den Bon für unseren Kassenwart ausdrucken. Somit müsste dieser die fehlenden Bons einzeln nachdrucken...

Besten dank nach Hamburg und schönes Wochenende.

Gruß
Jochen
Ordersprinter 2.0.11 | Windows10 auf Proxmox VE Server mit XAMPP | Windows Printserver | KKmoon 58-IV-U Bonprinter | Metapace K-2 Kassenschublade | DingSheng 10,1 Zoll Android Tablet | SumUp Air
pichel
Administrator
Beiträge: 1171
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: Error: Unable to access jarfile javaprinter.jar

Beitrag von pichel »

Hallo Jochen,

das ist schön, dass das Drucken jetzt funktioniert. Wenn du lieber das sudo weglassen möchtest, damit der Printserver nicht unter root-Rechten läuft, so ist dies auch möglich, das habe ich in Abschnitt 1.8.1 der Raspi-PDF-Anleitung beschrieben.

Das Verschieben in /usr/local/bin führt nicht dazu, dass der Printserver automatisch beim Booten des Systems startet. Man muss es in die /etc/rc.local eintragen (zumindest ist dies eine der Möglichkeiten).

In der Konfiguration gibt es eine Einstellung "Bondruck erzwingen". Wird dies auf "Ein" gestellt, so wird der Button "Nur Zahlung" ausgeblendet, d.h. bei der Abrechnung wird zwangsläufig immer ein Bon gedruckt.

Wenn bei Vereinsfesten nur Barzahlungen erlaubt sind, würde ich sogar in der Konfiguration die Einstellung "Zahldialog und Wechselgeldrechner" auf "Nein" setzen. In dem Fall findet die Abrechnung und der Bondruck direkt nach dem Druck auf "Bondruck" statt. Eine Auswahl des Zahlungsweges findet nicht statt. Allerdings steht dann auch der Wechselgeldrechner nicht zur Verfügung.
zahldialog.png
zahldialog.png (21.64 KiB) 2558 mal betrachtet
Gruß,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Jochen
Beiträge: 10
Registriert: Fr 15. Mär 2019, 17:03

Re: Error: Unable to access jarfile javaprinter.jar

Beitrag von Jochen »

Hallo Stefan.
Das Verschieben in /usr/local/bin führt nicht dazu, dass der Printserver automatisch beim Booten des Systems startet. Man muss es in die /etc/rc.local eintragen (zumindest ist dies eine der Möglichkeiten).
Ich habe die Schritte wie unter 1.8.2 der Raspi Anleitung durchgeführt und der Autostart des Javaprinters funktioniert jetzt einwandfrei.
Somit kann der Thread von der Ursprungsfrage her geschlossen werden.

Was noch nicht ganz funktioniert, ist das Öffnen der Lade nur bei Kassenbondruck! Hier schreibst du:
Wenn sich die Kassenlade öffnen soll, funktionieren in der Regel folgende Werte: 27, 112, 0, 40, 50 (Pin 2) oder 27, 112, 1, 40, 50 (Pin 5). Diese Werte kann man entweder in der config.json als escposts anhängen (dann wird sich die Schublade immer nach einem Ausdruck öffnen), oder am Ende in der Vorlage des Kassenbons.

Code: Alles auswählen

{RawD: 10 11 12}
In diesem Fall wird sich die Lade nur beim Drucken von Kassenbons öffnen.

Ich habe es wie oben beschrieben am Ende der Kassenbonvorlage eingefügt und die "escinits" bzw "escposts" Zeilen der config.json wie original belassen.
Allerdings öffnet sich die Lade dann nicht. Muss ich hier beides machen (Also in "escposts" und in der Kassenbonvorlage deine Werte eintragen), oder habe ich Pech und muss wie du schreibst googlen?
Einige Drucker haben jedoch eigene Codes für die Kassenlade, dann hilft nur das Druckerhandbuch oder googeln...
Da es ein recht einfacher und günstiger Bondrucker ist, konnte ich bisher nichts im Netz dazu finden. Auf dem Testausdruck der dem Drucker beilag steht aber drauf, dass er den EPSON (ESC/POS) Command standard verwendet. Hast du da eine Übersicht der Befehle bzw. einen Tipp, wo ich diesen einsehen kann?


Dann habe ich noch eine Frage in Verbindung mit SumUP. Dieses habe ich gestern eingerichtet und konnte auch erfolgreich Transaktionen ausführen.
Ebenfalls wie beschrieben, öffnet sich nach dem Bezahlvorgang ein Fenster mit dem OK Status. Allerdings habe ich auch den Abbruch einer Transaktion ausprobiert. Hier kam kein Fenster, sondern der Bezahlvorgang war laut Ordersprinter abgeschlossen. Somit musste ich unter Kassenbons den letzten manuell stornieren, damit der Tisch wieder als unabgerechnet dargestellt wird und konnte dann entweder wieder neu per Karte zahlen oder Bar kassieren.

Des Weiteren wäre es toll, wenn auf dem Bonausdruck erscheinen würde, dass per Karte bezahlt wurde. Also eine Unterscheidung in Hinblick auf Bar/Kartenzahlung. Kann man das irgendwo einstellen?

Bei Kartenzahlung wäre auch der automatische Druck von 2 Bons super (Einen für den Kunden und einen für mich). Hab ich da eine Einstellung übersehen?

Bei der Übersicht der Kassenbons (zum nachträglich Druck oder Storno oder oder...) wäre eine direkte Einblendung der ID (Rechnungs NR.) sehr hilfreich. So muss man immer ein paar öffnen, um die richtige Rechnungs Nr. zu finden.

Und als letzter Punkt ist mir aufgefallen, dass bei Kartenzahlung sich die Lade öffnet. Das schließe ich aber daraus, dass ich deine Codes aktuell noch in der "escposts" Zeile der config.json eingetragen habe, da es in der Kassenbonvorlage aktuell noch nicht funktioniert.


Wenn du mir hier noch ein paar helfende Tipps geben könntest, wäre das super :-)

Schöne Grüße
Jochen
Ordersprinter 2.0.11 | Windows10 auf Proxmox VE Server mit XAMPP | Windows Printserver | KKmoon 58-IV-U Bonprinter | Metapace K-2 Kassenschublade | DingSheng 10,1 Zoll Android Tablet | SumUp Air
pichel
Administrator
Beiträge: 1171
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: Error: Unable to access jarfile javaprinter.jar

Beitrag von pichel »

Hallo Jochen,

na ja {RawD: 10 11 12} war jetzt nur als Beispiel aus der Anleitung kopiert, als Werte für die Schublade musst du natürlich die Zahlen eintragen, die ich dir bereits für die escposts geschrieben hatte. Also:

Code: Alles auswählen

{RawD: 27 112 0 40 50} oder {RawD: 27 112 1 40 50}
Aber funktioniert die Schubladenöffnung denn nun, wenn du die Werte als escposts eingetragen hast, oder funktioniert es gar nicht?

SumUp: OrderSprinter erstellt die Rechnung und gibt den Wert an die Sumup-App weiter, die am Ende eine neue Seite von OrderSprinter aufruft und darin die Information übermittelt, ob die Transaktion erfolgreich war. Ja, ich werde mir überlegen, ob ich einbaue, dass der Bon bei fehlgeschlagener Transaktion automatisch storniert wird. Im Moment lässt es sich noch nicht so konfigurieren.

Den Zahlungsweg kann man natürlich auf dem Bon ausgeben. Das ist im neuesten Change-PDF im Kapitel 1.5.10 ("Vorlage Rechnungslayout") beschrieben. Der Platzalzer ist "z", also z.B. diese Zeile in die Vorlage einbauen

Code: Alles auswählen

z_Zahlung; v;
Ich habe mir notiert, dass ich in einer der zukünftigen Versionen einbaue, dass man einstellen kann, dass bei Kartenzahlungen zwei Bons rauspurzeln sollen. Im Moment kann man nur jeden Bon zweimal ausgeben, aber es ist nicht auf Kartenzahlungen beschränkt.

Die Kassenlade wird sich auch bei Kartenzahlung öffnen, egal ob man es nun als escposts oder in die Vorlage eingebaut hat. Das machen sogar die meisten Kassen im Einzelhandel noch. Aber ja, werde ich mir durch den Kopf gehen lassen.

Viele Grüße,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
pichel
Administrator
Beiträge: 1171
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: Error: Unable to access jarfile javaprinter.jar

Beitrag von pichel »

Hallo Jochen,

ich habe gerade gesehen, dass ich das mit dem automatischen Stornieren eines Bons nach einer fehlgeschlagenen SumUp-Transaktion schon längst einprogrammiert hatte (war mir ganz entfallen), Und es funktioniert auch bei mir.

Bitte teste es bei dir doch nochmal und wenn es nicht geht, dann kannst du mir vielleicht das Webserver error.log sowie ein Export "Sicherung (Alles ohne Logs)" zusenden?

Gruß,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
cihat
Beiträge: 2
Registriert: Sa 12. Mär 2022, 10:29

Re: Error: Unable to access jarfile javaprinter.jar

Beitrag von cihat »

Hallo Stefan,

da ich momentan das Problem mit dem auto. öffnen der Kassenschublade zu kämpfen habe, wollte ich das Thema hier nochmal aufgreifen.

Meine Kasse ist mit dem Bondrucker (Epson TM T88V) angeschlossen und über die Windows Druckeinstellungen funktioniert das auto. öffnen der Kassenschublade bei einem Testdruck.

Beim Versuch den Vorgang über den OrderSprinter zu wiederholen, scheitert dieser bisher leider.
Im config,json habe ich die Standard Zeile escposts mit 27 112 0 40 50 bzw. 27 112 1 40 50 abgeändert und ausprobiert. Hier tut sich leider nichts.
Weiter habe ich den Versuch unternommen, am Ende von der Kassenbonvorlage {RawD: 27 112 0 40 50} bzw. {RawD: 27 112 1 40 50} einzutragen, leider hat sich hier auch nichts getan.

Hast du da noch eine Idee? Im Netz finde ich dazu leider nichts :(

Danke und viele Grüße

Cihat
Antworten