`
guxinghanshe
  • 浏览: 31647 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转第二少)实践:在 ECLIPSE-BASED IDE 中使用MAVEN

阅读更多
原文http://1.blog4dearshor.sinaapp.com/2011/11/03/%E5%AE%9E%E8%B7%B5%EF%BC%9A%E5%9C%A8-eclipse-based-ide-%E4%B8%AD%E4%BD%BF%E7%94%A8maven/

转载自:第二少 http://blog4dearshor.sinaapp.com/

引言

Introduction

有两种maven和eclipse(结合)使用的方式:

把 Eclipse 作为一个编辑器,(用于编辑POM),用 maven 命令行工具来执行 maven build,或者
使用 Eclipse plugin for Maven (参考 Eclipse Integration )
如果你觉得在命令行调用maven更舒服,但也希望得益于eclipse提供的便利功能(代码完成,重构,等等),那么应该使用第一种。
如果你想让eclipse来做所有这些事情 —— 从创建(project)到编辑(代码、pom)到执行(maven build),那么应该使用第二种。

在这里,我们将会讨论 Eclipse plugin for Maven。

There are two ways to use Maven and Eclipse:

1. Eclipse as the editor, and Maven command line for commands, or

2. Using an Eclipse plugin for Maven (see Eclipse Integration )

Use the first one if you’re much more comfortable with using the command line for your maven executions, but would like to take advantage of eclipse’ features ( code complete, refactoring, etc ). Use the second one if you want eclipse to handle all these things – creation to editing to execution.

For this page, we will discuss the Eclipse plugin for Maven



安装(环境)

Setting up

要完成环境的安装,你必须安装一个maven eclipse插件,参考 Eclipse Integration.

To do so, you must install an eclipse plugin for maven, see Eclipse Integration.



在eclipse里调试 Maven Project

Debugging your Maven Project in Eclipse

注意,maven有2种调试模式:Generic 和 Surefire. 如果你调试maven本身,maven插件,或一个maven工程,则使用Generic 途径。如果你想调试一个surefire plugin 启动的 test,则使用 Surefire 途径

Note that there are two debug modes in maven: the Generic and the Surefire. If you want to debug maven itself, one of maven’s plugins, or a maven project, use the Generic Approach. If you want to debug a test in your project launched by surefire, use the Surefire Approach.

Maven 2.0.8+ 的调试环境安装

Setting up Maven 2.0.8+

注意:如果你使用 Maven 2.0.8 或更高版本,只需简单的用 “mvnDebug” 命令来替代 “mvn” 命令(执行maven build即可),接着你可以直接跳到下面的eclipse的调试环境安装

Note: If you are using Maven 2.0.8 or newer, simply run the “mvnDebug” command in place of “mvn” and skip down to setting up Eclipse.


Setting up Maven 2.0.8-

Open %M2_HOME%/bin/mvn.bat

At line 30, you’ll find this,

@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
Uncommenting the line by deleting @REM

Also add

set MAVEN_OPTS=
in the :end section, otherwise the debug will be turned on even when you run the normal mvn.bat

Save that file as mvn-debug.bat (or any convenient name you may want). You now have two maven batch files, one for normal use, and one for debugging.

Now when you want to debug maven, run mvn-debug instead of mvn (i.e. instead of mvn install, use mvn-debug install)





安装eclipse的调试环境

Setting up Eclipse


创建一个Java Project用户maven调试会话

Create a Java Project for the Maven Debug session

创建一个java project并命名为“Maven Debug”. 这个project里不会有任何源代码,它仅仅是一个“外壳”,用来连接上eclipse debugger的。

Create a new Java Project and call it “Maven Debug”. This Project will never have any source code in it, it is just a shell for attaching the debugger.


创建 远程Java应用程序 调试启动配置

(译者注:即“被调式的应用程序所在的jvm”与“调试器所在的jvm”不是同一个,而是两个独立的jvm)

Create Remote Java Application Debug Configurations

创建2个调试配置,一个用于 Generic 调试,命名为 “Maven” ,另一个用于 Surefire 调试,命名为 “Maven Surefire“:

Run > Debug... 然后右键单击Remote Java Application, 接着选择 New Launch Configuration.

在 Connect 标签点击 Browse... 按钮,然后选择 “Maven Debug” project. 确保 Connection Properties >Port 为 8000。(这和上面提到的 mvnDebug.bat/mvnDebug 文件里设置的 MAVEN_OPTS 命令行选项里的端口一致。)

在 Source 标签页点击 Add... 然后选择所有包含你想调试的源代码的 projects.

现在重复上述步骤,以创建第二个调试配置,命名为 “Maven Surefire” ,并指定监听端口为 5005.

Create two debug configurations, one for Generic debugging called “Maven” and one for Surefire debugging called “Maven Surefire”

Run > Debug... and then right click on Remote Java Application and chose New Launch Configuration.

On the Connect tab click the Browse... button and select the “Maven Debug” project. Make sure that theConnection Properties > Port is 8000. (This matches the address value set on the MAVEN_OPTS command line in the mvn-debug.bat file from above)

On the Source tab click Add... and select all projects that have any Maven source that you want to debug.

Now do the same thing to create a second Remote Java Application called “Maven Surefire” with a port of 5005.


Generic 调试

Generic Debugging

在你将要运行的代码中设置好断点

运行maven到调试模式,例如(执行以下命令):mvnDebug install

通过执行调试启动配置——“Maven”—— 连接上上面创建的调试器

然后eclipse将会在你设置的断点出“暂挂”。

译者注:用 mvnDebug 启动build后,当看到

Listening for transport dt_socket at address: 8000
时,会“暂挂”,直到你启动“maven调试配置”、连接到运行maven的jvm监听的8000端口时,才会“继续”;如果你启用了Surefire Debugging(下文会提到),那么接下来会看到
Listening for transport dt_socket at address: 5005
这时又会“暂挂”,直到你启动“maven surefire调试配置”、连接到运行maven的jvm监听的5005端口时,才会“继续”。



Select break points in the code you’re are going to run.

Run maven in debug mode, e.g mvn-debug install

Attach the debugger to the running maven by selecting the “Maven” debug configuration created above.

Eclipse will now stop Maven at the breakpoints you have enabled.


Surefire 调试

Surefire Debugging

在你将要运行的代码中设置好断点

在命令行执行的命令里追加一个选项:

-Dmaven.surefire.debug
例如,要调试被maven install生命周期启动的 test ,执行以下命令:
mvn install -Dmaven.surefire.debug
等待maven“暂挂”它的build过程并显示消息:

Listening for transport dt_socket at address: 5005
通过执行调试启动配置——“Maven Surefire”—— 连接上上面创建的调试器然后eclipse将会在你设置的断点出“暂挂”。



Select break points in the code you’re are going to run.

From your command line, append the following to your maven command.

-Dmaven.surefire.debug
For example, to debug the tests run by the maven lifecycle install, do mvn install -Dmaven.surefire.debugWait for maven to pause its execution and display the message,

Listening for transport dt_socket at address: 5005
Attach the debugger to the running maven by selecting the “Maven Surefire” debug configuration created above.
分享到:
评论

相关推荐

    eclipse-rcp-2022-06-R-linux-gtk-x86_64.tar.gz

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-linux-gtk-x86_64.tar.gz) 适用于Linux x86_64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    m2eclipse-book

    - **m2eclipse**:一款强大的Eclipse插件,它能够显著提升在Eclipse环境中使用Maven进行项目构建和管理的效率。 #### 描述:m2eclipse官方手册,鸟语版本,里面介绍比较详细,同时maven权威有一张关于这个工具的...

    eclipse-rcp-2022-06-R-win32-x86_64.zip

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-win32-x86_64.zip) 适用于Windows x86_64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-rcp-2022-06-R-macosx-cocoa-x86_64.dmg

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-macosx-cocoa-x86_64.dmg) 适用于macOS x86_64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-rcp-2022-06-R-linux-gtk-aarch64.tar.gz

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-linux-gtk-aarch64.tar.gz) 适用于Linux aarch64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-rcp-2022-06-R-macosx-cocoa-aarch64.dmg

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-macosx-cocoa-aarch64.dmg) 适用于macOS aarch64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    eclipse-rcp-2022-06-R-linux-gtk-x86_64.tar

    在使用Eclipse IDE for RCP and RAP 开发时,开发者可以利用其强大的特性,如: 1. **代码编辑器**:支持语法高亮、自动完成、错误检测等功能,提供高效的编码体验。 2. **调试工具**:能够对Java代码进行调试,...

    workshop-spring-data-cassandra:使用Spring Data Cassandra构建Todolist

    今天,我们将使用Apache Cassandra:trade_mark:中带有Spring Boot和Spring Data的存储来开发著名的TodoApplication后端。 :information: Information ----------------- :laptop: There is nothing preventing you...

    基于maven的jeecg_V2

    1. **依赖管理**:Maven通过pom.xml文件来管理项目的所有依赖库,Jeecg V2中包含了各种常用的Java库,如Spring、MyBatis、Hibernate等,开发者无需手动下载和配置,只需在pom.xml中声明即可。 2. **项目构建**:...

    最新spring3.0 源码(二)

    Spring框架是Java开发中的核心组件,特别是在企业级应用中,其强大的依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)能力深受开发者喜爱。在Spring 3.0版本中,它引入了更...

    apache-cxf-2.2.12-src.zip

    1. **环境准备**:确保系统中安装了Java SDK、Apache Ant/Maven,以及必要的IDE(如Eclipse、IntelliJ IDEA)。 2. **解压并导入**:将压缩包解压后,使用IDE导入项目,根据是Ant还是Maven项目选择相应的导入方式。...

    使用Eclipse+Glade在Linux下进行Java的GTK程序开发

    本文将详细介绍如何在Linux系统上使用Eclipse集成开发环境(IDE)和Glade界面设计器进行Java GTK程序的开发。 首先,确保你已经安装了Java开发环境(JDK)和Eclipse IDE。如果你还没有安装,可以从Oracle官方网站...

    jbpm文档,Jbpm 帮助

    - **使用Eclipse工具**:安装了Eclipse插件后,可以直接在IDE中创建和测试流程。 - **使用jBPM控制台**:通过Web界面访问jBPM控制台,进行流程管理和监控。 - **使用Guvnor存储库和设计器**:在线设计流程并通过...

    JBPM5中文文档

    - **Eclipse编辑器**: 集成了Eclipse IDE中的图形编辑器,便于设计和修改流程模型。 - **基于Web的设计器**: 提供了一个Web界面用于流程的设计和管理,增强了用户体验。 - **jBPM控制台**: 为用户提供了一个统一的...

    单点登录源码

    通用用户管理系统, 实现最常用的用户注册、登录、资料管理、个人中心、第三方登录等基本需求,支持扩展二次开发。 > zheng-wechat-mp 微信公众号管理平台,除实现官网后台自动回复、菜单管理、素材管理、用户管理...

    基于Springboot+Vue人事管理系统源码案例设计.zip

    在“code-268”这个文件名中,我们无法直接获得太多信息,但它可能表示这是第268个代码文件或版本,或者是一个特定的代码模块。 这个系统可能包含以下关键知识点: 1. **Spring Boot**: - 自动配置:Springboot...

    JBPM5.3开发指南

    Eclipse编辑器是JBPM提供的一个插件,集成在Eclipse IDE中。通过该编辑器,用户可以使用图形化界面来定义流程图,并自动生成相应的BPMN 2.0 XML文件。此外,它还支持代码编辑、调试等功能。 ##### 1.5 Web-based ...

    EMF开发过程整合资料

    在这个“EMF开发过程整合资料”中,包含了丰富的信息和实践经验,旨在帮助开发者解决在使用EMF时可能遇到的问题。 EMF的核心概念包括: 1. **元模型(Metamodel)**:元模型是描述数据结构的模型,定义了模型元素...

    IntelliJ IDEA创建项目示例

    随着 Java 技术的不断发展,越来越多的开发者选择使用 IntelliJ IDEA 这款强大的集成开发环境(IDE)来进行 Java 应用程序的开发。相比于传统的 Eclipse 等工具,IntelliJ IDEA 提供了更加智能化的代码提示、更高效...

    基于协同过滤算法商品推荐系统论文-java-文档-基于协同过滤算法商品推荐系统文档

    - **开发环境**:开发过程中使用了IDEA作为集成开发环境,并配合JDK1.8、Maven3.6、MySQL5.7等工具和技术进行开发。 - **服务平台**:使用Tomcat 8.0/9.0作为Web服务器运行系统。 - **数据库工具**:使用SQLyog/...

Global site tag (gtag.js) - Google Analytics