【发布时间】:2015-08-22 04:46:20
【问题描述】:
我正在一个旧项目上从已弃用的文件 API 切换到新的云存储客户端库,并且似乎存在依赖关系问题。我没有让 Maven 工作,所以我手动安装了所需的 jar。我可以编译并运行我的 servlet,但是当我尝试通过 DriverManager.getConnection() 访问 Cloud SQL 时出现此运行时错误:
java.lang.NoClassDefFoundError: com/google/api/client/http/HttpTransport
HttpTransport 应该放在什么 jar 中?
如何检查我上传到谷歌的战争是否包含它?
我的 war/WEB-INF/lib 和我的 Java 构建路径库中都有所有这些:
From App Engine SDK:
appengine-api-1.0-sdk-1.9.25.jar
appengine-api-labs.jar
appengine-api.jar
appengine-endpoints-deps.jar
appengine-endpoints.jar
appengine-jsr107cache-1.9.25.jar
appengine-jsr107cache.jar
datanucleus-appengine-1.0.10.final.jar
datanucleus-core-1.1.5.jar
datanucleus-jpa-1.1.5.jar
geronimo-jpa_3.0_spec-1.1.1.jar
geronimo-jta_1.1_spec-1.1.1.jar
jdo2-api-2.3-eb.jar
jsr107cache-1.1.jar
The Cloud Storage Client Library:
appengine-gcs-client-0.4.4.jar
Dependencies of the Cloud Storage Client Library:
guava-18.0.jar
joda-time-2.8.2.jar
google-api-services-storage-v1beta2-rev77-1.20.0.jar
For good measure, every jar from the Cloud Storage API libs:
commons-logging-1.1.1.jar
google-api-client-1.20.0.jar
google-api-client-1.20.0.jar.properties
google-api-client-android-1.20.0.jar
google-api-client-android-1.20.0.jar.properties
google-api-client-appengine-1.20.0.jar
google-api-client-gson-1.20.0.jar
google-api-client-jackson2-1.20.0.jar
google-api-client-java6-1.20.0.jar
google-api-client-servlet-1.20.0.jar
google-http-client-1.20.0.jar
google-http-client-1.20.0.jar.properties
google-http-client-android-1.20.0.jar
google-http-client-android-1.20.0.jar.properties
google-http-client-appengine-1.20.0.jar
google-http-client-gson-1.20.0.jar
google-http-client-gson-1.20.0.jar.properties
google-http-client-jackson2-1.20.0.jar
google-http-client-jackson2-1.20.0.jar.properties
google-http-client-jdo-1.20.0.jar
google-http-client-jdo-1.20.0.jar.properties
google-oauth-client-1.20.0.jar
google-oauth-client-1.20.0.jar.properties
google-oauth-client-appengine-1.20.0.jar
google-oauth-client-java6-1.20.0.jar
google-oauth-client-jetty-1.20.0.jar
google-oauth-client-servlet-1.20.0.jar
gson-2.1.jar
gson-2.1.jar.properties
httpclient-4.0.1.jar
httpcore-4.0.1.jar
jackson-core-2.1.3.jar
jackson-core-2.1.3.jar.properties
jdo2-api-2.3-eb.jar
jetty-6.1.26.jar
jetty-util-6.1.26.jar
jsr305-1.3.9.jar
transaction-api-1.1.jar
【问题讨论】:
-
也许这个启动警告是一个线索(注意两个版本号相同):服务器不再支持此SDK中的API版本! ------------ 最新 SDK: 发布: 1.9.25 时间戳: Tue Jul 07 12:10:33 PDT 2015 API 版本: [1] ----------- 您的 SDK : 发布: 1.9.25 时间戳: Thu Jul 23 12:07:39 PDT 2015 API 版本: [1.0]
-
当 google 插件构建并上传 war 时,它会回显它使用的临时目录的名称,因此我可以验证这些 jar 是否确实包含在内。对我来说是:C:\Users\USERNAME\AppData\Local\Temp\appcfg312535284579766874.tmp
标签: java eclipse google-app-engine google-cloud-storage google-cloud-sql