【发布时间】:2017-07-27 21:42:04
【问题描述】:
所以我有我的项目: https://github.com/Leejjon/Blindpool
当我尝试从 IntelliJ 中的 Google App Engine 部署运行配置将其发布到应用引擎时,它可以完美运行并且部署也很好。
但我收到了很多警告(这只是一个):
Deploying '[2017-07-27 23:15:04] Maven build: Blindpool. Project: blindepoule. Version: 6'...
Created temporary staging directory: C:\Users\Leejjon\AppData\Local\Temp\gae-staging-blindepoule684
Reading application configuration data...
jul 27, 2017 11:15:06 PM com.google.apphosting.utils.config.IndexesXmlReader readConfigXml
INFO: Successfully processed C:\Users\Leejjon\IdeaProjects\Blindpool\target\blindpool-1.0-SNAPSHOT\WEB-INF\appengine-generated\datastore-indexes-auto.xml
Beginning interaction for module default...
0% Scanning for jsp files.
0% Compiling jsp files.
jul 27, 2017 11:15:07 PM org.apache.tomcat.util.scan.StandardJarScanner scan
WARNING: Failed to scan [file:/C:/Users/Leejjon/AppData/Local/Google/Cloud%2520SDK/google-cloud-sdk/platform/google_appengine/google/appengine/tools/java/lib/impl/appengine-api-labs.jar] from classloader hierarchy
java.io.FileNotFoundException: C:\Users\Leejjon\AppData\Local\Google\Cloud%20SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\java\lib\impl\appengine-api-labs.jar (The system cannot find the path specified)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:219)
at java.util.zip.ZipFile.<init>(ZipFile.java:149)
at java.util.jar.JarFile.<init>(JarFile.java:166)
at java.util.jar.JarFile.<init>(JarFile.java:103)
at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:93)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69)
at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:109)
at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122)
at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:89)
at org.apache.tomcat.util.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:47)
at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:36)
at org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan(TldScanner.java:301)
at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:313)
at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:245)
at org.apache.jasper.servlet.TldScanner.scanJars(TldScanner.java:262)
at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:106)
at org.apache.jasper.JspC.initServletContext(JspC.java:1535)
at org.apache.jasper.JspC.execute(JspC.java:1378)
at com.google.appengine.tools.admin.LocalJspC.main(LocalJspC.java:33)
那么同样的异常发生在很多其他的 jar 中,比如 javax.annotation-api-1.2.jar、asm-commons-5.0.1.jar、asm-5.0.1.jar、javax.transaction-api-1.2 .jar、javax.mail.glassfish-1.4.1.v201005082020.jar、org.apache.taglibs.taglibs-standard-spec-1.2.5.jar、org.apache.taglibs.taglibs-standard-impl-1.2.5 .jar 和其他大约 30 个。
但部署只是继续:
jul 27, 2017 11:15:08 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
jul 27, 2017 11:15:08 PM org.apache.jasper.JspC processFile
INFO: Built File: \index.jsp
2017-07-27 23:15:10.115:INFO::main: Logging initialized @175ms
2017-07-27 23:15:11.051:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=501ms
0% Generated git repository information file.
Success.
Temporary staging for module default directory left in C:\Users\Leejjon\AppData\Local\Temp\gae-staging-blindepoule684
Services to deploy:
descriptor: [C:\Users\Leejjon\AppData\Local\Temp\gae-staging-blindepoule684\app.yaml]
source: [C:\Users\Leejjon\AppData\Local\Temp\gae-staging-blindepoule684]
target project: [blindepoule]
target service: [default]
target version: [6]
target url: [https://blindepoule.appspot.com]
Beginning deployment of service [default]...
Some files were skipped. Pass `--verbosity=info` to see which ones.
You may also view the gcloud log file, found at
[C:\Users\Leejjon\AppData\Roaming\gcloud\logs\2017.07.27\23.15.12.062000.log].
#============================================================#
#= Uploading 4 files to Google Cloud Storage =#
#============================================================#
File upload done.
Updating service [default]...
..............done.
Updating service [default]...
.Waiting for operation [apps/blindepoule/operations/5106d598-f760-4079-a358-4b2148c622cf] to complete...
..done.
done.
Deployed service [default] to [https://blindepoule.appspot.com]
You can stream logs from the command line by running:
$ gcloud app logs tail -s default
To view your application in the web browser run:
$ gcloud app browse
'[2017-07-27 23:15:04] Maven build: Blindpool. Project: blindepoule. Version: 6' has been deployed successfully.
如您所见,它完成得很好,我应该担心摆脱警告吗?
更新:发现 Google 希望我们转而使用云工具 appengine maven 插件: https://cloud.google.com/appengine/docs/standard/java/tools/migrate-maven
如果我使用推荐的设置并运行gcloud appengine:deploy,我会得到与之前在 IntelliJ 中遇到的完全相同的错误。因此,使用旧的 appengine maven 插件是可行的,但它违背了 Google 的建议。
【问题讨论】:
标签: java google-app-engine build maven-3 dependency-management