JavaPOS Installation not compatible with Windows 10, therefore I need to write my own jpos.xml file. Which files to include? -


ive been researching ins , outs of javapos, jcl, jdk, paths , classpaths while trying figure out how can print line on epson tm-t20 receipt printer using javapos. since javapos installation disc (that came printer) not install correctly on windows 10 (thinks installing on linux), need create own jpos.xml file. needs contain device entries printer. (i have tried fresh javapos adk download epson , older version without success).

this setup far....

  1. i have extracted latest jcl. instead of setting classpath jcl binary files (jar files), ive placed them in java ext directory.
  2. i extracted java "src.zip" located in jdk1.8.0_74 jdk1.8.0_74 directory "src".
  3. i have placed "jpos" folder containing jpos source files "src" folder, can import them test application.
  4. i have studied other jpos.xml (including postest/2 & starmicronics eg.) idea of entries mine needs contain.
  5. ive placed jpos.xml in java "src" folder.

here jpos.xml....

<?xml version="1.0" encoding="utf-8"?> <!doctype jposentries public "-//javapos//dtd//en"  "jpos/res/jcl.dtd">  <jposentries> <!--saved javapos jpos.config/loader (jcl) version 2.3.0-rc3 on 6/03/16 1:20 pm-->  <jposentry logicalname="tm-t20">  <creation factoryclass="jpos.loader.jposserviceinstancefactory" serviceclass="jpos.services.posprinterservice114"/> <vendor name="seiko epson" url="http://www.epson.com"/>  <jpos category="posprinter" version="1.14"/>  <product description="epson thermal receipt printer tm-t20" name="tm-t20" url="http://www.epson.com"/>   <!--other non javapos required property (mostly vendor properties , bus specific properties i.e. rs232 )-->  <prop name="devicebus" type="string" value="usb"/> <prop name="portname" type="string" value="esdprt001"/>  <prop name="model" type="string" value="tm-t20"/> </jposentry>    </jposentries> 

here test application...

import java.awt.dimension; import java.awt.toolkit; import javax.swing.uimanager; import jpos.util.jpospropertiesconst;    public class receiptprintmain {   public receiptprintmain() {      receiptprint2 frame = new receiptprint2();      dimension screensize = toolkit.getdefaulttoolkit().getscreensize();     dimension framesize = frame.getsize();     frame.setlocation((screensize.width - framesize.width) / 2, (screensize.height - framesize.height) / 2);     frame.setvisible(true); }  public static void main(string[] args) {     system.setproperty(jpospropertiesconst.jpos_populator_file_prop_name, "c:\\program files (x86)\\java\\jdk1.8.0_74\\src\\jpos.xml");     try {         uimanager.setlookandfeel(uimanager.getsystemlookandfeelclassname());     }     catch(exception e) {         e.printstacktrace();     }     new receiptprintmain(); } }  // file: receiptprint2 // purpose:  import java.awt.awtevent; import java.awt.color; import java.awt.dimension; import java.awt.gridbagconstraints; import java.awt.gridbaglayout; import java.awt.insets; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.windowevent; import javax.swing.borderfactory; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.joptionpane; import javax.swing.jpanel; import javax.swing.border.titledborder; import jpos.jposexception; import jpos.posprinter; import jpos.posprinterconst;    public class receiptprint2 extends jframe {      posprinter ptr = new posprinter(); jpanel contentpane; jpanel jpanel_reciept = new jpanel(); titledborder titledborder1; gridbaglayout gridbaglayout1 = new gridbaglayout(); gridbaglayout gridbaglayout2 = new gridbaglayout(); jbutton jbutton_print = new jbutton();   public receiptprint2() {      enableevents(awtevent.window_event_mask);     try {         jbinit();     }     catch(exception e) {         e.printstacktrace();     } }  private void jbinit() throws exception  {      contentpane = (jpanel) this.getcontentpane();     titledborder1 = new titledborder(borderfactory.createetchedborder(color.white,new color(134, 134, 134)),"receipt");     contentpane.setlayout(gridbaglayout1);     this.setsize(new dimension(300, 180));     this.settitle("step 1  print \"hello javapos\"");     jpanel_reciept.setlayout(gridbaglayout2);     jpanel_reciept.setborder(titledborder1);     jbutton_print.settext("print");     jbutton_print.addactionlistener(new actionlistener() {         public void actionperformed(actionevent e) {                 jbutton_print_actionperformed(e);         }     });     contentpane.add(jpanel_reciept, new gridbagconstraints(0, 0, 1, 1, 0.0, 0.0                     ,gridbagconstraints.center, gridbagconstraints.none, new insets(15, 0, 0, 0), 20, 20));     jpanel_reciept.add(jbutton_print, new gridbagconstraints(0, 0, 1, 1, 0.0, 0.0                     ,gridbagconstraints.center, gridbagconstraints.none, new insets(5, 10, 5, 10), 130, 0)); }     protected void processwindowevent(windowevent e) {     super.processwindowevent(e);     if (e.getid() == windowevent.window_closing) {             this.closing();     }      else if (e.getid() == windowevent.window_opened) {          try {             ptr.open("tm-t20");              ptr.claim(1000);              ptr.setdeviceenabled(true);         }         catch(jposexception ex) {             joptionpane.showmessagedialog(null, ex.getmessage());         }     } }  void jbutton_print_actionperformed(actionevent e) {          try{                         ptr.printnormal(posprinterconst.ptr_s_receipt,"hello javapos\n");     }     catch(jposexception ex){        joptionpane.showmessagedialog(null, ex.getmessage());     }        }  void closing(){          try{                     ptr.setdeviceenabled(false);          ptr.release();          ptr.close();     }     catch(jposexception ex){     }             system.exit(0); }     } 

the error message is.... "could not connect service logicalname = tm-t20: exception.message = jpos.loader.jpos.serviceinstancefactory.init()"

i'm guessing jpos.xml file entries incorrect, factoryclass &/or serviceclass. please can me. perhaps has jpos.xml file created tm-t20 , wouldn't mind sharing.


Comments

Popular posts from this blog

java - Run spring boot application error: Cannot instantiate interface org.springframework.context.ApplicationListener -

reactjs - React router and this.props.children - how to pass state to this.props.children -

Excel VBA "Microsoft Windows Common Controls 6.0 (SP6)" Location Changes -