Java JBoss AS 7中的PrintServiceLookup.lookupPrintService解决方案

Java JBoss AS 7中的PrintServiceLookup.lookupPrintService解决方案,java,jsf-2,printing,Java,Jsf 2,Printing,我正在尝试从JSF web应用程序打印pdf文档 当我从main方法调用方法findPrinter()时,会找到PrintServices,但当我从网页调用此方法时,找不到PrintService。下面提到的代码 public static void main(final String[] args) throws Exception { PrintTest printTest = new PrintTest(); printTest.findPrinter(); } p

我正在尝试从JSF web应用程序打印pdf文档

当我从main方法调用方法
findPrinter()
时,会找到
PrintServices
,但当我从网页调用此方法时,找不到
PrintService
。下面提到的代码

 public static void main(final String[] args) throws Exception {
    PrintTest printTest = new PrintTest();
    printTest.findPrinter();
 }

 public void findPrinter() {

    PrintService[] printServices = PrinterJob.lookupPrintServices();
    System.out.println("Print Services Length :: " + printServices.length);
    for (PrintService printService : printServices) {
        System.out.println("PrintService :: " + printService);
}

   <h:form>
    <p:commandButton value="Print" action="#{printTest.findPrinter()}"/> 
   </h:form>
publicstaticvoidmain(最终字符串[]args)引发异常{
PrintTest PrintTest=新的PrintTest();
printTest.findPrinter();
}
公共无效FindInter(){
PrintService[]printServices=PrinterJob.lookupPrintServices();
System.out.println(“打印服务长度::”+printServices.Length);
用于(打印服务打印服务:打印服务){
System.out.println(“PrintService::”+PrintService);
}
任何建议

  • 如前所述,在jbossAs的modules/sun/jdk/main/module.xml中添加额外标记: path name=“sun/print”

  • 从JRE中打开resources.jar,并提取
    META-INF/services/javax.print.PrintServiceLookup并复制到位置 JbossAS的modules/sun/jdk/main/service loader resources/META-INF/services

  • 重新启动JBoss并运行应用程序


  • 对于web应用程序,您将搜索连接到服务器的打印机,不是吗?是的,我将搜索配置为服务器的打印机。它是如何“不工作”的?您是否得到任何错误或只是一个空列表?我得到的是空列表…当我在Tomcat服务器上运行此应用程序时,它工作正常。但我面临Jboss AS的问题。。