[英]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.