Google 应用引擎+StampBarcode+pdf417 Api
Google app engine+StampBarcode+pdf417 Api
我想将我的 servlet 部署到 GAE,但收到以下错误
HTTP ERROR 500
访问/条形码时出现问题。原因:
java.awt.Rectangle is a restricted class. Please see the Google App Engine developer's guide for more details.
原因:
java.lang.NoClassDefFoundError: java.awt.Rectangle 是受限制的 class。有关详细信息,请参阅 Google App Engine 开发人员指南。
在 com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:50)
在 com.barcodelib.barcode.a.b.a.(a.java)
在 com.barcodelib.barcode.a.b.c.(c.java)
在 com.barcodelib.barcode.a.i.(i.java)
在 com.barcodelib.barcode.PDF417.a(PDF417.java)
在 com.barcodelib.barcode.AbstractBarcode.renderBarcode(AbstractBarcode.java)
在 PDF417Barcodes.doGet(PDF417Barcodes.java:49)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
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);
}
}
它在 tomcat 上工作正常,但在 GAE 上不工作,请帮助我。
GAE 不支持标准 JDK 中的所有 classes。请看以下link
https://cloud.google.com/appengine/docs/standard/java/jrewhitelist
在这里您会找到允许的 classes 列表。您的 pdf417 barcodelib 库似乎使用了不允许的 class。因此,您的应用程序将 运行 在标准和独立 tomcat 上,但不会在 GAE 上。
您的条形码库使用 java.awt.Rectangle
,如错误消息所述,它是受限的 class。此限制仅适用于 GAE,它不是一般限制,这就是它在 Tomcat.
中起作用的原因
此页面 https://cloud.google.com/appengine/docs/standard/java/jrewhitelist 列出了所有 允许的 JRE classes,因此如果您直接或间接使用 class 不在那里列出它会失败。
您可以不使用 GAE,或者尝试找到一个宣传为 GAE 的库 "safe"(免责声明:我不知道是否存在这样的库)。
我想将我的 servlet 部署到 GAE,但收到以下错误
HTTP ERROR 500
访问/条形码时出现问题。原因:
java.awt.Rectangle is a restricted class. Please see the Google App Engine developer's guide for more details.
原因:
java.lang.NoClassDefFoundError: java.awt.Rectangle 是受限制的 class。有关详细信息,请参阅 Google App Engine 开发人员指南。 在 com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:50) 在 com.barcodelib.barcode.a.b.a.(a.java) 在 com.barcodelib.barcode.a.b.c.(c.java) 在 com.barcodelib.barcode.a.i.(i.java) 在 com.barcodelib.barcode.PDF417.a(PDF417.java) 在 com.barcodelib.barcode.AbstractBarcode.renderBarcode(AbstractBarcode.java) 在 PDF417Barcodes.doGet(PDF417Barcodes.java:49) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
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);
}
}
它在 tomcat 上工作正常,但在 GAE 上不工作,请帮助我。
GAE 不支持标准 JDK 中的所有 classes。请看以下link
https://cloud.google.com/appengine/docs/standard/java/jrewhitelist
在这里您会找到允许的 classes 列表。您的 pdf417 barcodelib 库似乎使用了不允许的 class。因此,您的应用程序将 运行 在标准和独立 tomcat 上,但不会在 GAE 上。
您的条形码库使用 java.awt.Rectangle
,如错误消息所述,它是受限的 class。此限制仅适用于 GAE,它不是一般限制,这就是它在 Tomcat.
此页面 https://cloud.google.com/appengine/docs/standard/java/jrewhitelist 列出了所有 允许的 JRE classes,因此如果您直接或间接使用 class 不在那里列出它会失败。
您可以不使用 GAE,或者尝试找到一个宣传为 GAE 的库 "safe"(免责声明:我不知道是否存在这样的库)。