intellij - 上传谷歌应用程序错误

时间:2011-03-28 19:44:13

标签: google-app-engine intellij-idea

我正在尝试在我的GAE帐户中上传一个常规应用程序,但我不明白为什么它不起作用。它似乎无法连接到GAE链接。我在Mac OSX上使用IntelliJ和GAE插件。如果我从终端ping appengine.google.com,则会响应。

/Library/Java/Home/bin/java -Dfile.encoding=MacRoman -classpath /Users/themihai/appengine-java-sdk-1.4.2/lib/appengine-tools-api.jar com.google.appengine.tools.admin.AppCfg --email=mihai@pwk.co.uk update /Users/themihai/Downloads/restapi/classes/artifacts/restapi_war_exploded
********************************************************
Mar 28, 2011 9:46:31 PM com.google.appengine.tools.info.RemoteVersionFactory getVersion
Warning: Future versions of the Dev App Server will require Java 1.6 or later. Please upgrade your JRE.
INFO: Unable to access https://appengine.google.com/api/updatecheck?runtime=java&release=1.4.2×tamp=1297891083&api_versions=['1.0']
********************************************************
javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:189)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1642)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1605)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1588)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1142)
    at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:450)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1081)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
    at java.net.URL.openStream(URL.java:1007)
    at com.google.appengine.tools.info.RemoteVersionFactory.getVersion(RemoteVersionFactory.java:76)
    at com.google.appengine.tools.info.UpdateCheck.checkForUpdates(UpdateCheck.java:99)
    at com.google.appengine.tools.info.UpdateCheck.doNagScreen(UpdateCheck.java:174)
    at com.google.appengine.tools.info.UpdateCheck.maybePrintNagScreen(UpdateCheck.java:142)
    at com.google.appengine.tools.admin.AppCfg.(AppCfg.java:105)
    at com.google.appengine.tools.admin.AppCfg.(AppCfg.java:63)
    at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:59)
Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    at sun.security.validator.PKIXValidator.(PKIXValidator.java:56)
    at sun.security.validator.Validator.getInstance(Validator.java:146)
    at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:105)
    at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:167)
    at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(SSLContextImpl.java:320)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1020)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:120)
    at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:574)
    at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:510)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:888)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1131)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1158)
    ... 13 more
Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    at java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:183)
    at java.security.cert.PKIXParameters.(PKIXParameters.java:103)
    at java.security.cert.PKIXBuilderParameters.(PKIXBuilderParameters.java:87)
    at sun.security.validator.PKIXValidator.(PKIXValidator.java:54)
    ... 24 more
Reading application configuration data...
Beginning server interaction for mm-image...
0% Creating staging directory
Mar 28, 2011 9:46:31 PM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
INFO: Successfully processed /Users/themihai/Downloads/restapi/classes/artifacts/restapi_war_exploded/WEB-INF/appengine-web.xml
Mar 28, 2011 9:46:31 PM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
INFO: Successfully processed /Users/themihai/Downloads/restapi/classes/artifacts/restapi_war_exploded/WEB-INF/web.xml
5% Scanning for jsp files.
8% Compiling jsp files.
Mar 28, 2011 9:46:34 PM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
INFO: Successfully processed /var/folders/bG/bGU9UQqbHlynbNOrNizcs++++TI/-Tmp-/appcfg5900327360969772030.tmp/WEB-INF/web.xml
20% Scanning files on local disk.
25% Initiating update.

Error Details:
Mar 28, 2011 9:46:34 PM org.apache.jasper.JspC processFile
INFO: Built File: /index.jsp


javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
Unable to update app: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
Please see the logs [/var/folders/bG/bGU9UQqbHlynbNOrNizcs++++TI/-Tmp-/appcfg7459353099144995200.log] for further information.

appcfg7459353099144995200.log文件说的几乎与下面的内容相同: cat /var/folders/bG/bGU9UQqbHlynbNOrNizcs+++++/Tmp-/appcfg7459353099144995200.log


Unable to update:
javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:189)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1642)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1605)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1588)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1142)
    at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:450)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
    at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1004)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:230)
    at com.google.appengine.tools.admin.ServerConnection.connect(ServerConnection.java:341)
    at com.google.appengine.tools.admin.ServerConnection.send(ServerConnection.java:137)
    at com.google.appengine.tools.admin.ServerConnection.post(ServerConnection.java:86)
    at com.google.appengine.tools.admin.AppVersionUpload.send(AppVersionUpload.java:582)
    at com.google.appengine.tools.admin.AppVersionUpload.beginTransaction(AppVersionUpload.java:400)
    at com.google.appengine.tools.admin.AppVersionUpload.doUpload(AppVersionUpload.java:112)
    at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:56)
    at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:553)
    at com.google.appengine.tools.admin.AppCfg.(AppCfg.java:141)
    at com.google.appengine.tools.admin.AppCfg.(AppCfg.java:63)
    at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:59)
Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    at sun.security.validator.PKIXValidator.(PKIXValidator.java:56)
    at sun.security.validator.Validator.getInstance(Validator.java:146)
    at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:105)
    at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:167)
    at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(SSLContextImpl.java:320)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1020)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:120)
    at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:574)
    at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:510)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:888)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1131)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1158)
    ... 16 more
Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    at java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:183)
    at java.security.cert.PKIXParameters.(PKIXParameters.java:103)
    at java.security.cert.PKIXBuilderParameters.(PKIXBuilderParameters.java:87)
    at sun.security.validator.PKIXValidator.(PKIXValidator.java:54)
    ... 27 more
com.google.appengine.tools.admin.AdminException: Unable to update app: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:62)
    at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:553)
    at com.google.appengine.tools.admin.AppCfg.(AppCfg.java:141)
    at com.google.appengine.tools.admin.AppCfg.(AppCfg.java:63)
    at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:59)
Caused by: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:189)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1642)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1605)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1588)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1142)
    at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:450)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
    at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1004)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:230)
    at com.google.appengine.tools.admin.ServerConnection.connect(ServerConnection.java:341)
    at com.google.appengine.tools.admin.ServerConnection.send(ServerConnection.java:137)
    at com.google.appengine.tools.admin.ServerConnection.post(ServerConnection.java:86)
    at com.google.appengine.tools.admin.AppVersionUpload.send(AppVersionUpload.java:582)
    at com.google.appengine.tools.admin.AppVersionUpload.beginTransaction(AppVersionUpload.java:400)
    at com.google.appengine.tools.admin.AppVersionUpload.doUpload(AppVersionUpload.java:112)
    at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:56)
    ... 4 more
Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    at sun.security.validator.PKIXValidator.(PKIXValidator.java:56)
    at sun.security.validator.Validator.getInstance(Validator.java:146)
    at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:105)
    at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:167)
    at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(SSLContextImpl.java:320)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1020)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:120)
    at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:574)
    at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:510)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:888)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1131)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1158)
    ... 16 more
Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    at java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:183)
    at java.security.cert.PKIXParameters.(PKIXParameters.java:103)
    at java.security.cert.PKIXBuilderParameters.(PKIXBuilderParameters.java:87)
    at sun.security.validator.PKIXValidator.(PKIXValidator.java:54)
    ... 27 more

2 个答案:

答案 0 :(得分:1)

以某种方式计算出解决方案..我不知道为什么它仍然有效...证书链接从1.5版本缝无效,所以我决定删除它并将证书从1.6目录复制到1.5,如下所示:


mihai:security mihai$ sudo rm -rf /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/security/cacerts
mihai:security themihai$ sudo cp /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/security/cacerts /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/security/

我希望它有所帮助!

答案 1 :(得分:0)

将Java升级到1.6,或者(在OSX上)将Java 1.6设置为默认值。