以前にも同じ問題について投稿しましたが、回答がありませんでした。誰かが最近遭遇したに違いない単純な問題だと思うので、再投稿しています。
awt.PrinterJob を使用して印刷可能な情報を出力する JavaFX アプリケーションがあります。開発中はすべて正常に動作しますが、アプリケーションに署名してWeb Start経由でデプロイすると、同じボタンをクリックしてデータを印刷すると、以下のNullポインタ例外がスローされます:
Caused by: java.lang.NullPointerException
at javax.print.PrintServiceLookup.getServicesForContext(Unknown Source)
at javax.print.PrintServiceLookup.getListOfLookupServices(Unknown Source)
at javax.print.PrintServiceLookup.getAllLookupServices(Unknown Source)
at javax.print.PrintServiceLookup.lookupDefaultPrintService(Unknown Source)
at sun.print.Win32PrintServiceLookup.getWin32PrintLUS(Unknown Source)
at sun.awt.windows.WPrinterJob.getPrintService(Unknown Source)
at sun.print.RasterPrinterJob.setPrintable(Unknown Source)
at AdvancedSearchDetailedResultsTableViewController.printToImage(AdvancedSearchDetai..
同じ方法でデプロイする別のJava Swingアプリがあり、問題なくPrintJobを使用しています。JavaFX と awt と関係があるのではないかと思っていましたが、ローカルで動作するので、印刷サービスにアクセスする WebStart と関係があるに違いないと思いました。JNLP API Printservices を調べましたが、結果はありませんでした。
以前の投稿リンクhttps://stackoverflow.com/questions/17403727/java-web-start-printerjob
どんなアイデアや回避策も大歓迎です。
ありがとう