2015-01-14 64 views
0

配置:lookupDefaultPrintService()不返回系統默認的打印機

  • OS: CentOS版本5.4
  • 的Linux: 2.6.18-164.el5
  • 的Java: 1.7.0_25

嗨,

我很難弄清楚爲什麼我的Java應用程序中的打印對話框使用錯誤的打印機作爲默認設置。

lpstat -d返回'printer_ip0',並且printenv命令不會返回LPDEST或PRINTER變量(在我的理解中,它優先於系統默認設置)。

但是,每次開始打印作業時,首先按字母順序排列第一臺打印機(printer1),然後PrintServiceLookup.lookupDefaultPrintService().getName()給出相同的結果。

編輯:

當啓用IPP調試(System.setProperty("sun.print.ippdebug", "true")),我得到以下日誌:

CUPSPrinter>> libfound false 
UnixPrintServiceLookup>> total# of printers = 2 
CUPSPrinter>> libfound false 
CUPSPrinter>> libfound false 
CUPSPrinter>> libfound false 
isRunning ? false 
CUPSPrinter>> libfound false 

這導致我在sun.print包類CUPSPrinter(),特別是:

static { 
    // load awt library to access native code 
    java.security.AccessController.doPrivileged(
    new sun.security.action.LoadLibraryAction("awt")); 
    libFound = initIDs(); 
    if (libFound) { 
     cupsServer = getCupsServer(); 
     cupsPort = getCupsPort(); 
    } 
} 

不幸的是,它仍然沒有告訴我爲什麼它不能訪問本機代碼。

任何幫助將不勝感激。

回答

0

我不知道究竟是什麼解決了我的問題,但在yum update之後,它不見了!

相關問題