从命令行部署 App Engine 标准项目时出错

Error while deploying App Engine standard project from command line

我们有一个 App Engine 标准 Java8 项目,其中 JSP 文件用于视图,每个 jsp 文件都将使用实用程序 class,所以我们使用 jsp 提供的页面指令来导入所需的实用程序 class。代码如下所示

<%@page import="util.AssetUtils"%>.

我们在这些 JSP 中没有任何错误,甚至在使用 Google Cloud Tools for Eclipse 插件完成时部署也很好。

但是当我们尝试使用命令行进行部署时。我们收到一些 jsp 文件的以下错误。

INFO: Built File: /includes/social-ad-template.jsp
Mar 02, 2022 2:59:38 PM org.apache.jasper.JspC execute
INFO: Generation completed with [0] errors in [926] milliseconds
warning: [options] bootstrap class path not set in conjunction with -source 8
/var/folders/nn/_v6wc4tn02x45jp9f_5ysrch0000gp/T/1646213377265-0/org/apache/jsp/includes/scripts_002dto_002dinject_002din_002dhead_jsp.java:15: error: package util does not exist
import util.AssetsUtil;
           ^
/var/folders/nn/_v6wc4tn02x45jp9f_5ysrch0000gp/T/1646213377265-0/org/apache/jsp/includes/scripts_002dto_002dinject_002din_002dbody_jsp.java:14: error: package util does not exist
import util.ModeUtil;

Gcloud版本

Google Cloud SDK 375.0.0
app-engine-java 1.9.95
app-engine-python 1.9.99
bq 2.0.74
cloud-datastore-emulator 2.1.0
core 2022.02.25
gsutil 5.6

有人可以帮忙吗?

谢谢!

我认为 运行在 Google Cloud Tools for Eclipse 插件中安装此插件时没有错误,因为它会为您下载所需的依赖项。要在 CLI 中使用 javac 命令 运行 它,您需要指定 CLASSPATH。进入 /home/user 目录很重要。

OP 确认他遵循了上述建议并将 classpath 中的输出路径位置更改为指向他的 WebContent 文件夹中的一个目录。所以现在 class 文件在部署期间可用并且工作正常。