转换成Eclipse项目
- 启动命令行,输入play new <项目名>,Play会在当前路径下创建项目。
- 输入play eclipsify <项目名>,Play会在项目目录中创建eclipse需要的配置文件,将其转换成eclipse项目。
- 在eclipse中导入创建的项目。
调试
Play转换eclipse项目时,在eclipse目录中生成了三个启动配置:
- JPDA:连接到已经启动的Play Server,实现alive调试
- Demo:本地运行项目
- Test:以测试模式启动项目
选中它们,右键执行Run As,即可完成相应的任务。
本地调试
直接Debug As 执行Demo会报错:
ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
Error occurred during initialization of VM
agent library failed to init: jdwp
解决办法:
编辑Demo.launch
找到<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value=" -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -Dplay.debug=yes ...>
将-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n去掉!
附加Play源码,即可调试Play本身。
如果使用JDK1.7,还需要进行配置,否则Play会抛异常
异常信息
Execution exception VerifyError occured : Expecting a stack map frame Exception Details: Location: controllers/Secure$Security.authentify(Ljava/lang/String;Ljava/lang/String;) Z @33: istore_3 Reason: Error exists in the bytecode Bytecode: 0000000: b800 7d12 782b b800 7a12 712a b800 77bb 0000010: 0010 59b7 0012 bf3a 0403 3eb8 0080 1904 0000020: bf3e b800 821d ac Exception Handler Table: bci [0, 23] => handler: 23 Stackmap Table: same_locals_1_stack_item_frame(@23,Object[#55])
Internal Server Error (500) for request GET /sis/ Execution exception (In /app/controllers/Application.java around line 65) VerifyError occured : Expecting a stack map frame Exception Details: Location: controllers/Secure$Security.authentify(Ljava/lang/String;Ljava/lang/String;)Z @33: istore_3 Reason: Error exists in the bytecode Bytecode: 0000000: b800 7d12 782b b800 7a12 712a b800 77bb 0000010: 0010 59b7 0012 bf3a 0403 3eb8 0080 1904 0000020: bf3e b800 821d ac Exception Handler Table: bci [0, 23] => handler: 23 Stackmap Table: same_locals_1_stack_item_frame(@23,Object[#55]) play.exceptions.JavaExecutionException: Expecting a stack map frame Exception Details: Location: controllers/Secure$Security.authentify(Ljava/lang/String;Ljava/lang/String;)Z @33: istore_3 Reason: Error exists in the bytecode Bytecode: 0000000: b800 7d12 782b b800 7a12 712a b800 77bb 0000010: 0010 59b7 0012 bf3a 0403 3eb8 0080 1904 0000020: bf3e b800 821d ac Exception Handler Table: bci [0, 23] => handler: 23 Stackmap Table: same_locals_1_stack_item_frame(@23,Object[#55]) at play.mvc.ActionInvoker.invoke(ActionInvoker.java:237) at Invocation.HTTP Request(Play!) Caused by: java.lang.VerifyError: Expecting a stack map frame Exception Details: Location: controllers/Secure$Security.authentify(Ljava/lang/String;Ljava/lang/String;)Z @33: istore_3 Reason: Error exists in the bytecode Bytecode: 0000000: b800 7d12 782b b800 7a12 712a b800 77bb 0000010: 0010 59b7 0012 bf3a 0403 3eb8 0080 1904 0000020: bf3e b800 821d ac Exception Handler Table: bci [0, 23] => handler: 23 Stackmap Table: same_locals_1_stack_item_frame(@23,Object[#55]) at controllers.Application.setConnectedUser(Application.java:65) at play.mvc.ActionInvoker.invoke(ActionInvoker.java:510) at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:484) at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:479) at play.mvc.ActionInvoker.handleBefores(ActionInvoker.java:328) at play.mvc.ActionInvoker.invoke(ActionInvoker.java:142) ... 1 more
解决办法:
IDE中配置JRE环境处,设置启动参数 -XX:-UseSplitVerifier
Window → Preferences → Java → Installed JREs → Edit... → Default VM arguments
If you want to stay with JDK7, would be to use "-XX:-UseSplitVerifier" as an argument for the VM.
相关推荐
### Play2的开发环境配置与Eclipse调试指南 在构建基于Play2框架的应用程序时,一个良好的开发环境是至关重要的。本文将详细介绍如何配置适用于Play2应用开发的环境,并使用Eclipse进行调试的过程。 #### 1. JDK...
10. **错误处理和调试**:在使用Google Play服务时,可能会遇到如服务未安装、版本不兼容等问题,开发者需要学会如何处理这些异常,以及如何使用Logcat进行调试。 总的来说,"google_play_service.jar for eclipse ...
7. **调试与测试**:Eclipse提供了强大的调试工具,开发者可以设置断点、查看变量值、跟踪代码执行路径等,以查找和修复问题。同时,Android模拟器和真实设备可以用于应用的测试,确保其在不同设备上的兼容性和性能...
ADT提供了丰富的功能,使得在Eclipse环境中构建、调试和发布Android应用变得简单而高效。 ### 1. 安装与配置 安装ADT首先需要Eclipse IDE的基础环境,支持Java开发的Eclipse版本通常被称为Eclipse IDE for Java ...
- 调试应用,利用Eclipse强大的调试工具和日志输出功能。 4. 应用测试。 - 在虚拟设备或真实设备上安装和测试应用。 - 利用Eclipse ADT插件的功能,进行应用性能测试和bug查找。 5. 应用打包和发布。 - 使用...
利用Eclipse的强大调试功能,如断点、步进执行等,可以对代码进行详细调试。同时,Eclipse内置的日志查看器(LogCat)可以帮助分析运行时错误和应用日志。 9. **设置编译选项** 通过“Project” > “Properties”...
ADT(Android Developer Tools)是 Google 推出的一款专门用于 Android 应用程序开发的工具集,它包含了多种功能,如项目创建、布局编辑、代码调试、设备模拟器等,使得开发者无需离开 Eclipse 就能完成大部分的开发...
8. **插件扩展**:Eclipse平台的开放性允许用户安装更多的插件来增强Scala开发体验,例如支持Akka、Play Framework等Scala生态系统中的库和框架。 9. **文档和社区支持**:Eclipse和Scala都有庞大的社区和丰富的...
13. **导出和部署**:完成开发后,你可以将项目打包成APK文件,通过Eclipse的"Export"功能进行签名和优化,然后发布到Google Play或其他应用市场。 通过阅读提供的“eclipse官方使用教程翻译.doc”文档,你将更深入...
当这两个工具结合时,开发人员可以利用Genymotion Eclipse插件在Eclipse中直接启动和控制Genymotion模拟器,极大地提高了开发和调试的效率。 **Genymotion的特性** 1. **高性能**: Genymotion使用VirtualBox技术,...
在本项目中,Eclipse作为Android应用开发的平台,提供了代码编辑、调试、构建和部署等一系列功能。 2. **Android开发**:Android是一种基于Linux的开源操作系统,广泛应用于移动设备,如智能手机和平板电脑。开发者...
- **Android开发支持**:Google Plugin for Eclipse 4.3提供了完整的Android SDK集成,包括项目创建、源代码编辑、资源管理、调试器、模拟器控制等,帮助开发者高效地进行Android应用开发。 - **ADT(Android ...
与Eclipse集成后,开发者可以更方便地在开发环境中进行Android应用的调试和测试,提高开发效率。Eclipse是一款强大的集成开发环境(IDE),支持多种编程语言,包括Java,而Android应用主要就是用Java或Kotlin编写的...
- 完成开发和测试后,我们可以通过Eclipse的Export功能生成APK文件,然后在Google Play Store或其他分发平台发布。 在这个"Calculatrice-Android"项目中,你将学习到如何利用Eclipse和安卓的基本组件来创建一个...
在Eclipse中调试和测试MaterialRefreshLayout时,确保你的设备或模拟器运行的是API级别17或以上。你可以通过USB连接真机设备,或者在Eclipse的AVD Manager中创建虚拟设备来测试。 总的来说,Eclipse中使用...
Eclipse内置了强大的调试工具,可以帮助开发者定位并修复代码中的问题。在运行应用时,可以设置断点,查看变量值,检查调用栈等。同时,还可以在模拟器或真实设备上进行测试,确保应用的稳定性和兼容性。 11. **...
它提供了代码编辑、调试、构建和部署等多种功能,是Android应用开发的首选IDE之一。开发者可以通过安装ADT(Android Developer Tools)插件将Eclipse转化为一个完整的Android开发平台。 【知识点二】:Android SDK ...
而ADT(Android Developer Tools)插件是Google为Eclipse设计的一款专业开发Android应用程序的工具,它极大地简化了Android应用的构建、调试和发布流程。下面我们将详细介绍如何在Eclipse中安装和使用ADT插件。 ...
本文将深入探讨Play Framework的基本概念、常用命令、Eclipse调试方法、模式、控制器、工具包、session管理和模板引擎等方面。 1. **常用命令** - `play new <项目名>`:创建一个新的Play项目。 - `play run ...
10. **发布准备**:当应用开发完成后,Eclipse提供了导出签名APK的功能,这是将应用上传到Google Play Store或其他分发渠道的必要步骤。 总的来说,"Eclipse关联android-19.zip"涵盖了Android 4.4的开发环境配置,...