`
iamweiming
  • 浏览: 40978 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

"Maven2+Jetty" -- Maven2创建并管理WebApp,并使用Maven Jetty Plugin在Eclipse中调试(转)

 
阅读更多

Maven2代比1代改进很多,其中主要强调的是--它不仅仅是个依赖包管理器!
开始先要推荐一个专讲Maven2的电子书给大家,对MAVEN学习相当有助益:Better Builds with Maven   


下面就专门介绍下Maven2对WEBAPP在管理和调试方面的支持。

1.创建项目

mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp

也可参看这里

创建要注意遵循MAVEN的目录结构,尤其要注意源文件要放在main/java下:



2. POM文件的配置

这里要特别注意对resource一节的配置,因为我的SPRING以及WEB相关的XML是放在WEB-INF目录,为了在unit test的时候也能用,加入了对这些配置文件的引用。相当于加了一个classpath。

这里还有个插曲:不知为何MAVEN2里没有JTA的包,自动下载时会有提示教你如何手工通过命令加入,非常简单。

JETTY的plugin是为后面用它来调试做准备。

DWR也是目前WEB开发一个热选。

另外,为使用JAVA5代来编译,加入了maven-compiler-plugin一节。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation
="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  
<modelVersion>4.0.0</modelVersion>
  
<groupId>com.exchangebit.nms</groupId>
  
<artifactId>ebnms</artifactId>
  
<packaging>war</packaging>
  
<version>1.0-SNAPSHOT</version>
  
<name>ebnms Maven Webapp</name>
  
<url>http://maven.apache.org</url>
      
  
<build>
    
<finalName>ebnms</finalName>
    
      
<resources>
        
<resource>
          
<directory>src/main/java</directory>
          
<includes>
            
<include>**/*.xml</include>
          
</includes>
        
</resource>
        
<resource>
          
<directory>src/main/webapp/WEB-INF</directory>
          
<includes>
            
<include>**/*.xml</include>
            
<include>**/log4j.properties</include>
          
</includes>
        
</resource>
      
</resources>
      
      
<plugins>
        
<plugin>
          
<groupId>org.apache.maven.plugins</groupId>
          
<artifactId>maven-compiler-plugin</artifactId>
          
<configuration>
            
<source>1.5</source>
            
<target>1.5</target>
          
</configuration>
        
</plugin>
        
      
<plugin>
        
<groupId>org.mortbay.jetty</groupId>
        
<artifactId>maven-jetty-plugin</artifactId>
      
</plugin>        
  
      
</plugins>
    
</build>    
      
  
<dependencies>
    
<dependency>
      
<groupId>junit</groupId>
      
<artifactId>junit</artifactId>
      
<version>3.8.1</version>
      
<scope>test</scope>
    
</dependency>
        
    
<dependency>
      
<groupId>org.hibernate</groupId>
      
<artifactId>hibernate</artifactId>
      
<version>3.1</version>
    
</dependency>
    
    
<dependency>
      
<groupId>log4j</groupId>
      
<artifactId>log4j</artifactId>
      
<version>1.2.11</version>
    
</dependency>
    
<dependency>
      
<groupId>mysql</groupId>
      
<artifactId>mysql-connector-java</artifactId>
      
<version>3.1.11</version>
      
<scope>runtime</scope>
    
</dependency>
    
<dependency>
      
<groupId>javax.servlet</groupId>
      
<artifactId>servlet-api</artifactId>
      
<version>2.4</version>
      
<scope>provided</scope>
    
</dependency>
    
<dependency>
      
<groupId>javax.servlet</groupId>
      
<artifactId>jstl</artifactId>
      
<version>1.1.2</version>
      
<scope>runtime</scope>
    
</dependency>
    
<dependency>
      
<groupId>taglibs</groupId>
      
<artifactId>standard</artifactId>
      
<version>1.1.2</version>
      
<scope>runtime</scope>
    
</dependency>
    
<dependency>
      
<groupId>org.springframework</groupId>
      
<artifactId>spring</artifactId>
      
<version>1.2.6</version>
    
</dependency>
        
    
<dependency>
      
<groupId>dwr</groupId>
      
<artifactId>dwr</artifactId>
      
<version>1.1.3</version>
    
</dependency>        
  
</dependencies>
  
</project>


代码放入/main/java后,可以在项目目录下执行:
mvn compile来做编译尝试,
也可以用mvn war直接生成打包文件,
当然最后可以用 mvn jetty:run来运行你的WEBAPP!


3.  在Eclipse中配置jetty进行调试
要把之前的项目导入Eclipse首先让maven为我们生成Eclipse工程文件,执行:
mvn eclipse:eclipse
再把M2_REPO加入到Eclipse的classpath中,有两种方法,其中的b)方法是有效的:
a) mvn -Declipse.workspace=<path-to-eclipse-workspace> eclipse:add-maven-repo
b) Window > Preferences. Select the Java > Build Path > Classpath Variables page


之后,就可以通过Eclipse的File->Import功能将工程导入。


有人为了使用WEBAPP开发功能,而装象MYECLIPSE这样的巨物。有了JETTY,通过轻松配置就可以实现比TOMCAT更快更便捷的容器,所以在调试时强力推荐这个东东。下面就来看下如何配置。

先下配置一个外部工具,来运行JETTY:
选择菜单Run->External Tools->External Tools ...在左边选择Program,再点New:
配置Location为mvn完整命令行。

选择Working Directory为本项目。

Arguments填写:jetty:run

再点选Enviroment页:加入MAVEN_OPTS变量,值为:
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=y
其中,如果suspend=n 表示不调试,直接运行。

然后,点APPLY,再关闭本对话框。
另外注意一点,好像external tool菜单项在java browering的perspective下才会出现。如果在java下看不见,可以切换下试试。



下面新建运行配置:
点选run->debug...
选中左树中的Remote Java Application,再点New。
选择你的项目,关键是要填和之前设置外部工具时相同的端口号。





配置就完成了,正面开始调试运行:
首先要把JETTY运行起来(有点象TOMCAT里的运行APPSERVER),从Run->External Tools中选择之前配置的外部工具运行,这时LOG里会显示:
listening at port 4000字样,
再选择Run->Debug选择我们刚建的运行配置,这时程序就RUN起来了,可以通过WEB进行访问,设置断点调试了。



后记:
在ECLIPSE中,有更方便高效的调试方式,点这里 
分享到:
评论

相关推荐

    maven3 + jetty 新建webapp

    在创建一个基于Maven的Webapp时,`pom.xml`中需要包含特定的Maven插件和依赖,例如`jetty-maven-plugin`,这是Jetty与Maven集成的关键。 在`pom.xml`中,你需要配置以下内容: 1. **项目基本设置**:包括groupId、...

    Maven + Jetty Plugin

    通过在Maven的`pom.xml`文件中添加Jetty插件,开发者可以在开发过程中快速启动和调试Web应用,无需每次都打包和部署到完整的应用服务器。 首先,我们需要了解Maven的插件系统。Maven插件是Maven生命周期的一部分,...

    Eclipse+Maven创建webapp项目集成jetty服务器

    下面是如何在Eclipse中使用Maven创建webapp项目并集成Jetty的步骤: 1. **创建Maven项目**:在Eclipse中,选择"File" -&gt; "New" -&gt; "Maven Project",然后按照向导创建一个新的Maven项目。 2. **配置POM.xml**:在...

    maven项目下用 jetty 启动热部署

    在Java开发领域,Maven是广泛使用的构建自动化工具,它帮助开发者管理项目依赖、构建流程以及项目的生命周期。而Jetty则是一款轻量级的HTTP服务器和Servlet容器,常用于快速测试和开发Web应用程序。当我们使用Maven...

    struts2+maven+jetty 示例

    首先,创建一个新的Maven项目,并在pom.xml文件中添加Struts2和Jetty的相关依赖。例如: ```xml &lt;groupId&gt;org.apache.struts &lt;artifactId&gt;struts2-core &lt;version&gt;2.5.24 &lt;!-- 其他相关依赖 --&gt; ...

    Eclipse Maven项目中配置Jetty

    在Eclipse中配置Maven项目以使用Jetty服务器是一个常见的任务,这主要适用于开发和测试阶段,因为它提供了快速的启动和重启能力。Jetty是一个轻量级、高性能的开源HTTP服务器和Servlet容器,广泛用于Java Web应用。...

    maven +jetty 配置web工程

    总结起来,`Maven + Jetty`的配置是Java Web开发中的一个高效实践,通过它们,我们可以方便地管理项目依赖、构建Web应用,并利用轻量级的Jetty容器快速进行本地开发和测试。这不仅提高了开发效率,也使得项目更加...

    jetty+maven webapp,http,https实现的简单demo

    在Jetty中,我们可以使用`Server`类创建服务器实例,并通过`ServerConnector`配置监听端口。然后,通过`ServletContextHandler`添加Servlet映射。示例代码如下: ```java Server server = new Server(); Server...

    maven 创建web project 配置jetty运行

    在IT行业中,Maven是一个广泛使用的项目管理工具,主要用于构建、管理和部署Java应用程序。本教程将探讨如何使用Maven创建一个Web项目,并配置Jetty服务器进行运行。这涉及到的两个核心文件是`pom.xml`(Project ...

    Maven与Jetty

    例如,`maven-jetty-plugin`或`jetty-maven-plugin`允许你在开发阶段直接通过Maven命令运行和调试你的Web应用,而无需进行完整的打包和部署步骤。 要将Jetty集成到Maven项目中,你需要在你的`pom.xml`文件中添加...

    maven创建webapp

    在本文中,我们将探讨如何使用 Maven 创建一个 Web 应用程序,包括环境配置、IDE 集成以及项目结构的设置。 **1. Maven 安装与配置** 首先,你需要从 Maven 官方网站下载最新版本的 Maven,解压缩后设置环境变量 ...

    maven jetty

    ** Maven与Jetty的结合使用 ** Maven是一款强大的项目管理工具,广泛应用于Java开发领域。它通过定义项目对象模型...在"WebApp"目录下,开发者可以组织并管理Web应用的各个组成部分,以便于Maven管理和Jetty运行。

    用Maven和Jetty开发调试WEB应用程序

    为了能够在Eclipse中使用Jetty进行调试,需要在`pom.xml`文件中添加Jetty插件: ```xml &lt;plugin&gt; &lt;groupId&gt;org.mortbay.jetty &lt;artifactId&gt;maven-jetty-plugin &lt;contextPath&gt;/rhinoceros ...

    eclipse 整合 jetty 调试

    本文将详细介绍如何在Eclipse中整合Jetty,并进行调试。 **一、Eclipse安装Jetty插件** 1. 打开Eclipse市场(Help &gt; Eclipse Marketplace)。 2. 搜索“Jetty”或“Jetty Runner”,找到Jetty Runner插件,点击...

    maven的入门使用

    以上是关于 Maven 的基本使用方法,包括安装配置、创建项目、生成站点文档以及如何使用 Maven 创建 Web 项目并与 Jetty 集成等内容。这些知识点对于初学者来说非常重要,能够帮助他们快速上手 Maven 并进行项目的...

    Intellij IDEA下建立maven管理的web项目,配置jetty热部署

    在本文中,我们将学习如何使用 Intellij IDEA 建立一个基于 Maven 管理的 Web 项目,并配置 Jetty 热部署。 知识点 1:Intellij IDEA 中的 Maven 项目 Maven 是一个基于项目对象模型(Project Object Model,POM)...

    jmeter-maven-plugin-it:jmeter-maven-plugin 的集成测试

    jmeter-maven-plugin-it jmeter-maven-plugin 的集成测试。 用于运行测试。... 为了使版本、依赖和插件管理尽可能简单, jmeter-maven-plugin-it模块和封闭的jmeter-maven-plugin-it-run模块(运行

    Jetty中文手册

    在Eclipse中使用Jetty 在IntelliJ中使用Jetty 在Eclipse中工作 在Eclipse中开发Jetty Jetty WTP插件(Plugin) JettyOSGi SDK for Eclipse-PDE EclipseRT Jetty StarterKit SDK OSGi Jetty on OSGi, RFC66 基于...

    jetty启动的maven web项目

    接下来,我们需要在命令行中使用Maven来启动Jetty。在项目根目录下,执行以下命令: ```bash mvn jetty:run ``` 这会编译项目,运行所有测试,并启动Jetty服务器,加载项目中的Web应用。服务器默认会在`...

Global site tag (gtag.js) - Google Analytics