Ошибка: невозможно получить доступ к jarfile_jarfile_name

Когда я выполняю свою программу, нажав Shift+F6, он хорошо печатает штрих-код, но когда я создаю файл JAR, выполнив следующие

  1. Щелкните правой кнопкой мыши по названию проекта.
  2. свойства
  3. Выберите упаковку
  4. Выберите "Построить JAR после компиляции" и "Копировать зависимые библиотеки", затем нажмите "ОК".
  5. Очистить и построить проект Shift+F11

Он создает JAR-файл под dist, когда я выполняю его в терминале

java -jar BarcodePrintTest.jar

это показывает ошибку как

Ошибка: невозможно получить доступ к jarfile BarcodePrintTest.jar

Ниже мой код

import net.sourceforge.barbecue.Barcode;
import net.sourceforge.barbecue.BarcodeFactory;
import net.sourceforge.barbecue.BarcodeException;
import net.sourceforge.barbecue.output.OutputException;
import javax.print.attribute.PrintServiceAttribute;
import javax.print.attribute.AttributeSet;
import javax.print.attribute.HashPrintServiceAttributeSet;
import javax.print.attribute.standard.PrinterName;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import java.awt.*;
import java.awt.print.PageFormat;
import java.awt.print.PrinterJob;
import java.awt.print.PrinterException;
import java.awt.print.Printable;
import java.io.File;
import net.sourceforge.barbecue.BarcodeImageHandler;
public class BarcodePrintTest implements Printable {
  public static void main (String[] args) {
      BarcodePrintTest barCodePrinter = new BarcodePrintTest();
      barCodePrinter.execute();
  }
  private void execute() {
      try {
          PageFormat pFormat = new PageFormat();
          //pFormat.setOrientation(PageFormat.LANDSCAPE);
          PrinterJob pJob = PrinterJob.getPrinterJob();
          pJob.setPrintable(this, pFormat);
          //PrintServiceAttribute printerName = new PrinterName("Zebra LP2824", null);
          PrintServiceAttribute printerName = new PrinterName("Zebra-TLP2844", null);
          AttributeSet attr = new HashPrintServiceAttributeSet(printerName);
          PrintService[] printServiceArray = PrintServiceLookup.lookupPrintServices(null, attr);
          PrintService printService = printServiceArray[0];
          pJob.setPrintService(printService);
          pJob.print();
      } catch (PrinterException e) {
          System.err.println("Error occurred in execute");
      }
  }
  public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) {
      //adjust the following variables for positioning and size of  barcode printout
      double scale = 0.57;
      int barHeight = 50;
      int barWidth = 1;
      int x = 140;
      int y = 0;
      Graphics2D g2 = (Graphics2D) graphics;
      g2.translate((int)(pageFormat.getImageableX()), (int)(pageFormat.getImageableY()));
      g2.scale(scale, scale);
      if (pageIndex == 0) {
          Barcode barcode = null;
          try {
              String barcodedata="100001017SRM12345678";
              barcode = BarcodeFactory.createCode128(barcodedata);
          } catch (BarcodeException e) {
              e.printStackTrace();
          }
          try {

              barcode.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 12));
              barcode.setDrawingText(true);
              barcode.setDrawingQuietSection(true);

              barcode.setResolution(96);
              barcode.setBarHeight(barHeight);
              barcode.setBarWidth(barWidth);
              barcode.draw(g2, x, y);
          } catch (OutputException e) {
              e.printStackTrace();
          }
          return Printable.PAGE_EXISTS;
      } else {
        return Printable.NO_SUCH_PAGE;
      }
  }
}

0 ответов

Другие вопросы по тегам