簡體   English   中英

Java代碼可在IDE中使用,但不能在其他計算機上與jar一起使用

[英]Java code works in IDE but not with jar on different computer

我正在netbeans中創建一個Java應用程序,該應用程序將壓縮多頁tiff圖像。 該過程的一部分是使用各種jai,jai-imageIO等圖像庫。 特別是,我有一種獲取圖像位深度的方法,如果我通過帶有內置.jar文件的命令行運行它,則它在IDE和本地計算機上都可以正常工作。 有問題的方法如下:

private synchronized void setBitDepth() {
       if(this.getImageInputStream() == null) {
           System.out.println("ImageInputStreamFailure");
       } try {
           //System.out.println("Path: " + this.testTiff);
           ImageInputStream testInStream = ImageIO.createImageInputStream(new File(this.testTiff)); //test
           Iterator<ImageReader> readers = ImageIO.getImageReaders(testInStream);
           ImageReader reader;
           if(!readers.hasNext()) {
               throw new IOException("Cant read format...");
           }  else {
               reader = readers.next();
           }
           reader.setInput(this.getImageInputStream(), true, true);
           this.bitDepth = reader.getImageTypes(0).next().getColorModel().getPixelSize();
           reader.dispose();
       } catch(IOException e) {
           e.printStackTrace();
       } 
    }

如果我將項目打包到jar文件中,並在具有Java的其他計算機上運行它,則此方法將始終拋出IOException("Cant read format...")異常。 我嘗試了多種補救措施,包括嘗試將所有外部庫打包到單個jar文件中,以及多次清理和重建我的項目,但是我似乎無法弄清楚為什么它不能跨多個平台運行,安裝了Java。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM