无法导出 Play!应用程序作为战争
Posted
技术标签:
【中文标题】无法导出 Play!应用程序作为战争【英文标题】:Can't export Play! app as war 【发布时间】:2011-10-03 03:34:52 【问题描述】:我正在尝试打包 Play!针对 Java 7 构建的应用程序。我收到此错误。另外,我无法从命令行启动该应用程序,但可以从 Eclipse 启动。
D:\Dropbox\eclipseProjectsClassic>play war MyApp -o MyApp.war --zip ~ _ _ ~ _ __ | | __ _ _ _| | ~ | '_ \| |/ _' | || |_| ~ | __/|_|\____|\__ (_) ~ |_| |__/ ~ ~玩! 1.2.3,http://www.playframework.org ~ 在地址监听传输 dt_socket:8000 04:17:03,694 INFO ~ 开始 D:\Dropbox\eclipseProjectsClassic\MyApp 线程“main”中的异常 java.lang.UnsupportedClassVersionError: DocViewerPlugin : Unsupported maj or.minor 版本 51.0 在 java.lang.ClassLoader.defineClass1(本机方法) 在 java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 在 java.lang.ClassLoader.defineClass(ClassLoader.java:616) 在 play.classloading.ApplicationClassloader.loadApplicationClass(ApplicationClassloader.java :158) 在 play.classloading.ApplicationClassloader.loadClass(ApplicationClassloader.java:84) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:248) 在 play.plugins.PluginCollection.loadPlugins(PluginCollection.java:100) 在 play.Play.init(Play.java:286) 在 play.server.Server.main(Server.java:158) ~ 将当前版本的框架和应用打包到 D:\Dropbox\eclipseProjectsClassi c\MyApp.war ... 回溯(最近一次通话最后): 文件“C:\play\play”,第 153 行,在 状态 = cmdloader.commands[play_command].execute(command=play_command, app=play_app, args=remai ning_args, env=play_env, cmdloader=cmdloader) 文件“C:\play\framework\pym\play\commands\war.py”,第 65 行,在执行中 package_as_war(应用程序、环境、war_path、war_zip_path、war_exclusion_list) package_as_war 中的文件“C:\play\framework\pym\play\utils.py”,第 117 行 copy_directory(app.path, os.path.join(war_path, 'WEB-INF/application'), war_exclusion_list) 文件“C:\play\framework\pym\play\utils.py”,第 230 行,在 copy_directory shutil.copyfile(from_, to_) 文件“C:\play\python\lib\shutil.py”,第 53 行,在 copyfile 中 fdst = 打开(dst,'wb') IOError: [Errno 2] 没有这样的文件或目录:'D:\\Dropbox\\eclipseProjectsClassic\\MyApp.war\\WEB- INF/application\\MyApp.war\\WEB-INF\\application\\MyApp.war\\WEB-INF\\application\\MyApp.war\\WEB -INF\\application\\MyApp.war\\WEB-INF\\application\\MyApp.war\\WEB-INF\\application\\test\\data \\DataCollectorTest.java'更新 我已经通过将 JAVA_HOME 系统变量更改为 jdk7 目录解决了 UnsupportedClassVersionError。 IOError 仍然出现。
UPDATE2 通过将输出目录更改为“C:\MyApp.war”解决了 IOError
【问题讨论】:
【参考方案1】:如果我从 Play 1.2.4RC1 的发行说明中理解的话,Play 1.2.3 并没有完全支持 Java 7。尝试使用来自Play framework download page 的新 Play 1.2.4 候选版本?它的发行说明告诉我们“Java 7 现在支持开箱即用”。
【讨论】:
以上是关于无法导出 Play!应用程序作为战争的主要内容,如果未能解决你的问题,请参考以下文章