2017-04-21 17 views
0

私はGAEに私のサーブレットをデプロイしたいが、次のエラーに/バーコードにアクセスするGoogleのアプリエンジン+ StampBarcode + PDF417アピ

HTTP ERROR 500 

問題を取得。理由:

java.lang.NoClassDefFoundErrorが:

java.awt.Rectangle is a restricted class. Please see the Google App Engine developer's guide for more details. 

によって引き起こさjava.awt.Rectangleは制限されたクラスです。詳細については、Google App Engineデベロッパーガイドをご覧ください。 (com.bar)、com.barcodelib.barcode.aba com.barcodelib.barcode.aiでc.java) (com.barcodelib.barcode.AbstractBarcode.renderBarcode(AbstractBarcode.java)でcom.barcodelib.barcode.PDF417.aでi.java) (PDF417.java) これは、Tomcatで細かい作業が、GAEで動作していない

servlet 
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException 
     { 
      try { 
       PDF417 barcode = new PDF417(); 
       barcode.setData("PDF417"); 

       ServletOutputStream servletoutputstream = response.getOutputStream(); 

       response.setContentType("image/jpeg"); 
       response.setHeader("Pragma", "no-cache"); 
       response.setHeader("Cache-Control", "no-cache"); 
       response.setDateHeader("Expires", 0); 

       // Generate PDF-417 barcode & output to ServletOutputStream 
       barcode.renderBarcode(servletoutputstream); 

      } catch (Exception e) { 
       throw new ServletException(e); 
      } 
     } 

javax.servlet.http.HttpServlet.service(HttpServlet.java:617)でPDF417Barcodes.doGet(PDF417Barcodes.java:49) で 、助けてください私。

答えて

0

バーコードライブラリではjava.awt.Rectangleが使用されています。エラーメッセージの状態として、制限付きクラスです。この制限はGAEにのみ適用されます。一般的な制限ではないため、Tomcatで動作します。

このページhttps://cloud.google.com/appengine/docs/standard/java/jrewhitelistすべてリスト JREクラスを許可するので、あなたが直接または間接的にそこに記載されていないクラスを使用している場合、それは失敗します。

GAEを使用することはできません。また、GAEを「安全」と宣伝するライブラリを見つけることもできます(免責事項:そのようなライブラリがあるかどうかはわかりません)。

+0

GAEで動作するpdf417バーコードapiについてご存知の方は、お勧めしますか? – dkmaven

+0

免責事項は何を言ったのですか? – Kayaman

1

GAEは標準JDKのすべてのクラスをサポートしていません。ここにあなたが許可されたクラスのリストを見つけるでしょう、次のリンクに

https://cloud.google.com/appengine/docs/standard/java/jrewhitelist

を参照してください。あなたのpdf417 barcodelibライブラリが許可されていないクラスを使用しているようです。したがって、あなたのアプリは標準のスタンドアロンの風袋で実行されますが、GAEでは実行されません。

関連する問題