`
schy_hqh
  • 浏览: 552572 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

(二)play之Eclipse调试

 
阅读更多

转换成Eclipse项目

  1. 启动命令行,输入play new <项目名>,Play会在当前路径下创建项目。
  2. 输入play eclipsify <项目名>,Play会在项目目录中创建eclipse需要的配置文件,将其转换成eclipse项目。
  3. 在eclipse中导入创建的项目。

调试

Play转换eclipse项目时,在eclipse目录中生成了三个启动配置:

  1. JPDA:连接到已经启动的Play Server,实现alive调试
  2. Demo:本地运行项目
  3. 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.

 

 

 

分享到:
评论

相关推荐

    paly2的开发环境配置和eclipse调试

    ### Play2的开发环境配置与Eclipse调试指南 在构建基于Play2框架的应用程序时,一个良好的开发环境是至关重要的。本文将详细介绍如何配置适用于Play2应用开发的环境,并使用Eclipse进行调试的过程。 #### 1. JDK...

    google_play_service.jar for eclipse 201611 android7

    10. **错误处理和调试**:在使用Google Play服务时,可能会遇到如服务未安装、版本不兼容等问题,开发者需要学会如何处理这些异常,以及如何使用Logcat进行调试。 总的来说,"google_play_service.jar for eclipse ...

    vlc android eclipse 工程

    7. **调试与测试**:Eclipse提供了强大的调试工具,开发者可以设置断点、查看变量值、跟踪代码执行路径等,以查找和修复问题。同时,Android模拟器和真实设备可以用于应用的测试,确保其在不同设备上的兼容性和性能...

    Eclipse安卓ADT工具

    ADT提供了丰富的功能,使得在Eclipse环境中构建、调试和发布Android应用变得简单而高效。 ### 1. 安装与配置 安装ADT首先需要Eclipse IDE的基础环境,支持Java开发的Eclipse版本通常被称为Eclipse IDE for Java ...

    android eclipse

    - 调试应用,利用Eclipse强大的调试工具和日志输出功能。 4. 应用测试。 - 在虚拟设备或真实设备上安装和测试应用。 - 利用Eclipse ADT插件的功能,进行应用性能测试和bug查找。 5. 应用打包和发布。 - 使用...

    eclipse配置安卓开发环境

    利用Eclipse的强大调试功能,如断点、步进执行等,可以对代码进行详细调试。同时,Eclipse内置的日志查看器(LogCat)可以帮助分析运行时错误和应用日志。 9. **设置编译选项** 通过“Project” &gt; “Properties”...

    eclipse开发Android插件

    ADT(Android Developer Tools)是 Google 推出的一款专门用于 Android 应用程序开发的工具集,它包含了多种功能,如项目创建、布局编辑、代码调试、设备模拟器等,使得开发者无需离开 Eclipse 就能完成大部分的开发...

    scala for eclipse neon plugins

    8. **插件扩展**:Eclipse平台的开放性允许用户安装更多的插件来增强Scala开发体验,例如支持Akka、Play Framework等Scala生态系统中的库和框架。 9. **文档和社区支持**:Eclipse和Scala都有庞大的社区和丰富的...

    eclipse官方使用教程中文版

    13. **导出和部署**:完成开发后,你可以将项目打包成APK文件,通过Eclipse的"Export"功能进行签名和优化,然后发布到Google Play或其他应用市场。 通过阅读提供的“eclipse官方使用教程翻译.doc”文档,你将更深入...

    genymotion eclipse插件.rar

    当这两个工具结合时,开发人员可以利用Genymotion Eclipse插件在Eclipse中直接启动和控制Genymotion模拟器,极大地提高了开发和调试的效率。 **Genymotion的特性** 1. **高性能**: Genymotion使用VirtualBox技术,...

    eclipse下zxing扫描二维码第二版

    在本项目中,Eclipse作为Android应用开发的平台,提供了代码编辑、调试、构建和部署等一系列功能。 2. **Android开发**:Android是一种基于Linux的开源操作系统,广泛应用于移动设备,如智能手机和平板电脑。开发者...

    Google Plugin for Eclipse 4.3

    - **Android开发支持**:Google Plugin for Eclipse 4.3提供了完整的Android SDK集成,包括项目创建、源代码编辑、资源管理、调试器、模拟器控制等,帮助开发者高效地进行Android应用开发。 - **ADT(Android ...

    genymotion+eclipse插件

    与Eclipse集成后,开发者可以更方便地在开发环境中进行Android应用的调试和测试,提高开发效率。Eclipse是一款强大的集成开发环境(IDE),支持多种编程语言,包括Java,而Android应用主要就是用Java或Kotlin编写的...

    eclipse开发计算器app

    - 完成开发和测试后,我们可以通过Eclipse的Export功能生成APK文件,然后在Google Play Store或其他分发平台发布。 在这个"Calculatrice-Android"项目中,你将学习到如何利用Eclipse和安卓的基本组件来创建一个...

    Eclipse中使用MaterialRefreshLayout

    在Eclipse中调试和测试MaterialRefreshLayout时,确保你的设备或模拟器运行的是API级别17或以上。你可以通过USB连接真机设备,或者在Eclipse的AVD Manager中创建虚拟设备来测试。 总的来说,Eclipse中使用...

    Eclipse开发GoogleAndroid教程

    Eclipse内置了强大的调试工具,可以帮助开发者定位并修复代码中的问题。在运行应用时,可以设置断点,查看变量值,检查调用栈等。同时,还可以在模拟器或真实设备上进行测试,确保应用的稳定性和兼容性。 11. **...

    在eclipse上实现的手机地图程序

    它提供了代码编辑、调试、构建和部署等多种功能,是Android应用开发的首选IDE之一。开发者可以通过安装ADT(Android Developer Tools)插件将Eclipse转化为一个完整的Android开发平台。 【知识点二】:Android SDK ...

    eclipse安装开发插件ADT插件下载

    而ADT(Android Developer Tools)插件是Google为Eclipse设计的一款专业开发Android应用程序的工具,它极大地简化了Android应用的构建、调试和发布流程。下面我们将详细介绍如何在Eclipse中安装和使用ADT插件。 ...

    play framework 框架个人笔记

    本文将深入探讨Play Framework的基本概念、常用命令、Eclipse调试方法、模式、控制器、工具包、session管理和模板引擎等方面。 1. **常用命令** - `play new &lt;项目名&gt;`:创建一个新的Play项目。 - `play run ...

    Eclipse关联android-19.zip

    10. **发布准备**:当应用开发完成后,Eclipse提供了导出签名APK的功能,这是将应用上传到Google Play Store或其他分发渠道的必要步骤。 总的来说,"Eclipse关联android-19.zip"涵盖了Android 4.4的开发环境配置,...

Global site tag (gtag.js) - Google Analytics