简体   繁体   English

找不到 jpos/res/jpos.properties 文件

[英]jpos/res/jpos.properties file not found

我对 javapos 有问题。当我尝试从打印机 Epson TM-T20 打印“Hello JavaPOS”的代码示例程序时

POSPrinterControl113 ptr = (POSPrinterControl113)new POSPrinter();

JPanel contentPane;
JPanel jPanel_reciept = new JPanel();
TitledBorder titledBorder1;
GridBagLayout gridBagLayout1 = new GridBagLayout();
GridBagLayout gridBagLayout2 = new GridBagLayout();
JButton jButton_Print = new JButton();

/**Constract "Frame"*/
public Step1Frame() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
        jbInit();
    }
    catch(Exception e) {
        e.printStackTrace();
    }
}

/**Form the component*/
private void jbInit() throws Exception  {
    //setIconImage(Toolkit.getDefaultToolkit().createImage(Step1Frame.class.getResource("[Your Icon]")));
    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));
}

/**
 * Outline     The processing code required in order to enable
 *            or to disable use of service is written here.
 * @exception JposException  This exception is fired toward the failure of
 *                          the method which JavaPOS defines.
 */
/**When the window was closed*/
protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
        this.closing();
    }
    /**When the window open*/
    else if (e.getID() == WindowEvent.WINDOW_OPENED) {
        // JavaPOS's code for Step1
        try {
            //Open the device.
            //Use the name of the device that connected with your computer.
            ptr.open("POSPrinter");

            //Get the exclusive control right for the opened device.
            //Then the device is disable from other application.
            ptr.claim(1000);

            //Enable the device.
            ptr.setDeviceEnabled(true);
        }
        catch(JposException ex) {
        }
    }
    // JavaPOS's code for Step1--END
}

//***********************Button*************************************************
/**
 * Outline      The code for using the most standard method "PrintNormal"
 *             to print is described.
 */
void jButton_Print_actionPerformed(ActionEvent e) {
    // JavaPOS's code for Step1
    try{
        //printNormal(int station, String data)
        //A string is sent by using the method "printNormal", and it is printed.
        // "\n" is the standard code for starting a new line.
        // When the end of the line have no "\n",printing by
        //  using the method "printNormal" doesn't start, may be.
        ptr.printNormal(POSPrinterConst.PTR_S_RECEIPT,"Hello JavaPOS\n");
    }
    catch(JposException ex){
    }
    // JavaPOS's code for Step1--END
}

//***********************Method*************************************************
/**
 * Outline     The code to finish a service.
 */
void closing(){
    // JavaPOS's code for Step1
    try{
        //Cancel the device.
        ptr.setDeviceEnabled(false);

        //Release the device exclusive control right.
        ptr.release();

        //Finish using the device.
        ptr.close();
    }
    catch(JposException ex){
    }
    // JavaPOS's code for Step1--END
    System.exit(0);
}

I nowhere found correct answer for this very old question我找不到这个非常古老的问题的正确答案
if you get如果你得到

jpos/res/jpos.properties file not found

you have 2 ways:你有两种方法:

  1. ignore this error and set properties from the code忽略此错误并从代码设置属性

     System.setProperty("jpos.config.populatorFile", "jposxml.cfg"); System.setProperty("jpos.util.tracing.TurnOnNamedTracers", "JposServiceLoader,SimpleEntryRegistry,SimpleRegPopulator,XercesRegPopulator"); System.setProperty("jpos.util.tracing.TurnOnAllNamedTracers", "ON"); System.setProperty("jpos.loader.serviceManagerClass", "jpos.loader.simple.SimpleServiceManager")
  2. extract you jposXXX.jar(usually XXX means version),提取你 jposXXX.jar(通常 XXX 表示版本),
    add jpos.properties and jpos.xml files to the folder jposXXX/jpos/res/,将 jpos.properties 和 jpos.xml 文件添加到文件夹 jposXXX/jpos/res/,
    convert folder jposXXX to jar file将文件夹 jposXXX 转换为 jar 文件
    for example via command in terminal jar cvf jposXXX.jar jposXXX例如通过终端jar cvf jposXXX.jar jposXXX命令
    put jar file to app/libs/ folder将 jar 文件放到 app/libs/ 文件夹中
    add to your gradle dependencies line添加到您的 gradle 依赖项行

    implementation fileTree(dir: 'libs', include: ['*.jar'])
    enjoy请享用

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM