精华内容
下载资源
问答
  • 之前写了Eclipse下怎么通过 Maven 的 Tomcat 插件来运行 Web 工程。近日听说 Jetty 可以动态加载修改后的类, 为了能够更快提高开发效率, 绝对要尝试一下。 引用来源 Jetty7/8 的Maven插件配置:...

    摘要: 之前写了Eclipse下怎么通过 Maven 的 Tomcat 插件来运行 Web 工程。近日听说 Jetty 可以动态加载修改后的类, 为了能够更快提高开发效率, 绝对要尝试一下。

    引用来源

    Jetty7/8 的Maven插件配置:http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin

    Jetty9 最新的Maven插件配置:http://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html 或者 最新RELEASE版配置

    Jetty 各个版本的限制:http://wiki.eclipse.org/Jetty/Starting/Jetty_Version_Comparison_Table

    Jetty 7 必须 Jdk 1.5+,Servlet 2.5,类似于 Tomcat 6,文章编写时的 Release 版本:

    <plugin>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jetty-maven-plugin</artifactId>
      <version>7.6.17.v20150415</version>
    </plugin>

    Jetty 8 必须 Jdk 1.6+,Servlet 3.0,类似于 Tomcat 7,文章编写时的 Release 版本:

    <plugin>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jetty-maven-plugin</artifactId>
      <version>8.1.16.v20140903</version>
    </plugin>

    Jetty 9 必须 Jdk 1.7+,Servlet 3.0+,类似于 Tomcat 8,文章编写时的 Release 版本:

    <plugin>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-maven-plugin</artifactId>
      <version>9.2.10.v20150310</version>
    </plugin>

    国内很多应用也许会去升级JDK版本,但往往还在使用Servlet2.5做开发,所以本文使用 Jetty 8 作为案例。

     

    单独使用HTTP

    步骤一

    在项目的 pom.xml 里面添加如下配置:

    <project>
      ....
      <build>
        ....
          <plugins>
            <plugin>
               <groupId>org.mortbay.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
               <version>8.1.16.v20140903</version>
               <configuration>
                   <scanIntervalSeconds>5</scanIntervalSeconds>
                   <webApp>
                       <contextPath>/test</contextPath>
                   </webApp>
                </configuration>
             </plugin>
          </plugins>
        ....
      </build>
      ....
    </project>

    配置说明:

    • configuration.scanIntervalSeconds 配置表示新代码的扫描时间间隔(秒),值 <= 0 表示不扫描

    • configuration.webApp.contextPath 配置表示工程的虚拟目录名

     

    步骤二

    使用Eclipse的Maven Build运行,Goals配置,如图:

    这个配置表示 jetty 运行时的端口号。

    jetty:run -Djetty.port=9080

    另外,截图的绿色部分是因为我的Web应用的 log4j.xml 中使用了 ${sys:catalina.base} 这个Tomcat的环境变量,在启动 Jetty 时会报错,添加了 catalina.base 这个配置后就可以解决这个问题了。还有一个问题是,这个配置必须配置到 Parameter 中,成为启动参数。

    以上方案配置完成之后,第一次运行时,Maven会自动去下载插件依赖,编译并运行Web应用,成功之后就可以愉快的通过HTTP的形式访问亲的网站了。

     

    混合使用HTTP和HTTPS

    步骤一

    pom.xml 里面的配置改为如下:

    <project>
      ....
      <build>
        ....
          <plugins>
            <plugin>
               <groupId>org.mortbay.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
               <version>8.1.16.v20140903</version>
               <configuration>
                   <scanIntervalSeconds>5</scanIntervalSeconds>
                   <webApp>
                       <contextPath>/test</contextPath>
                   </webApp>
                   <connectors>
                        <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
                            <port>9080</port>
                        </connector>
                        <connector implementation="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
                            <port>9443</port>
                            <password>changeit</password>
                        </connector>
                    </connectors>
                </configuration>
             </plugin>
          </plugins>
        ....
      </build>
      ....
    </project>

    说明,从配置中可以看出,添加了connectors配置,一个是http的配置,一个是https的配置。

    connector.port 是端口号,这个端口号必须设置,且优先级比 -Djetty.port 高。

    connector.password 是 .keystore 的密码,https 连接必须设置,当前使用了 Tomcat 一样的密钥 changeit。

    .keystore 文件的创建方法请查看上一篇博客 Eclipse下通过Maven的Tomcat插件运行Web工程的配置,包括启用https

     

    步骤二

    跟 单独使用HTTP的步骤二 相似,但可以去掉 -Djetty.port=9080 这个配置。

    以上配置完成后,运行,就可以通过 http 和 https 两种形式访问亲的网站了

     

    总结

    Jetty 的定时重载代码的实现比 Tomcat 的好很多,使用 Tomcat 的 onreload 经常修改几下就整个应用在重启,而且经常排队,非常耗时。

    Jetty 的配置对 pom.xml 的侵入比较大,尤其是 http 和 https 的混合配置更是需要在 pom.xml 中配置固定的端口号,让代码看起来不够干净。

    我对 Jetty 的尝试还非常粗浅,希望看到这篇博客的同学能够多多赐教。

    补充

    Jetty有一个问题,默认使用nio连接会把资源文件(html, css)锁定,解决方案是把nio改为bio:

                        <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
                            <port>9080</port>
                        </connector>
                        <connector implementation="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
                            <port>9443</port>
                            <password>changeit</password>
                        </connector>
    这两个connector的配置要改为:
                            <connector implementation="org.eclipse.jetty.server.bio.SocketConnector">
                                <port>8080</port>
                            </connector>
                            <connector implementation="org.eclipse.jetty.server.ssl.SslSocketConnector">
                                <port>8443</port>
                                <password>changeit</password>
                            </connector>
    
    
    
    
    
    
    Eclipse中安装Jetyy   Eclipse->help->Installed new Software然后搜索jetty安装适配器。
    在下载Jetty对应的版本:https://www.eclipse.org/jetty/download.html  在eclipse中的server配置就OK啦。。。
    展开全文
  • 2015年07月08日 14:24:26 9516 最近又重新看了一下maven的东西,其实...怎么在eclipse里面创建maven web工程,这边就不介绍了,参见:http://blog.csdn.net/enson16855/article/details/19702477 ,一般情况下


    2015年07月08日 14:24:26

    最近又重新看了一下maven的东西,其实主要是因为去了解Jenkins,后期也许会补充jenkins的博文。

    怎么在eclipse里面创建maven web工程,这边就不介绍了,参见:http://blog.csdn.net/enson16855/article/details/19702477 ,一般情况下我们都是讲web工程发不到外部的tomcat环境下开发调试什么的,本人最近觉得有点繁琐。

    1、首先来看一下maven tomcat插件:

    [html] view plain copy
    1. <plugin>  
    2.                 <groupId>org.apache.tomcat.maven</groupId>  
    3.                 <artifactId>tomcat7-maven-plugin</artifactId>  
    4.                 <version>2.2</version>  
    5.                 <configuration>  
    6.                     <port>8080</port>  
    7.                     <path>/dubbo-admin</path>  
    8.                     <uriEncoding>UTF-8</uriEncoding>  
    9.                     <finalName>dubbo-admin</finalName>  
    10.                     <server>tomcat7</server>  
    11.                 </configuration>  
    12.             </plugin>  
    2、配置jsp,servlet依赖什么的..

    [html] view plain copy
    1. <dependency>  
    2.             <groupId>javax.servlet</groupId>  
    3.             <artifactId>servlet-api</artifactId>  
    4.             <version>2.5</version>  
    5.             <scope>provided</scope>  
    6.         </dependency>  
    7.         <dependency>  
    8.             <groupId>javax.servlet.jsp</groupId>  
    9.             <artifactId>jsp-api</artifactId>  
    10.             <version>2.2</version>  
    11.             <scope>provided</scope>  
    12.         </dependency>  
    13.         <dependency>  
    14.             <groupId>javax.servlet</groupId>  
    15.             <artifactId>jstl</artifactId>  
    16.             <version>1.2</version>  
    17.         </dependency>  
    18.         <dependency>  
    19.             <groupId>jsptags</groupId>  
    20.             <artifactId>pager-taglib</artifactId>  
    21.             <version>2.0</version>  
    22.             <scope>provided</scope>  
    23.         </dependency>  
    一定需要以上的依赖,否则项目创建jsp文件都会有错误出现....

    3、接下来就是发布的事情了。。



    创建一个maven build如下:


    4、点击apply,再点击run即可:


    表示启动成功了...是不是很方便???

    展开全文
  •  学习下Maven,从最简单的开始。...4、接下来是要和Eclipse集成,首先我们下载插件eclipse-maven3-plugin,这里就不讲Eclipse怎么安装插件了,安装成功后,需要配置下Eclipse   5、配置完成后我们就可以创建Ma...

     学习下Maven,从最简单的开始。

    1、下载Maven



     

    2、配置环境变量



     

    3、打开cmd,运行mvn -version,显示下图的文件,则代表配置成功



     

    4、接下来是要和Eclipse集成,首先我们下载插件eclipse-maven3-plugin,这里就不讲Eclipse怎么安装插件了,安装成功后,需要配置下Eclipse



     

     

    5、配置完成后我们就可以创建Maven工程了



     

      

     

     

    6、创建成功的目录



     

    7、我们需要创建我们源代码存放的文件src/main/java

    8、好了,我们创建一个简单的servlet

    9、这里我们需要引入servlet-api.jar,有了Maven,你不必再到处去找包,只需要在pom.xml配置就可以了。怎么配置可以去http://www.mvnrepository.com/或者http://search.maven.org/#browse中查找

     <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.0.1</version>
     </dependency>

    10、编写第一个servlet

    package com.mycompany.core.servlet;

    import java.io.IOException;

    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    public class FirstServlet extends HttpServlet{
     
     /**
      *
      */
     private static final long serialVersionUID = 1L;

     @Override
     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
       throws ServletException, IOException {
      resp.getOutputStream().write("hello wrold".getBytes());
     }
    }

    11、修改下web.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
     id="WebApp_ID" version="2.5">
     <display-name>Archetype Created Web Application</display-name>
     <servlet>
      <servlet-name>FirstServlet</servlet-name>
      <servlet-class>com.mycompany.core.servlet.FirstServlet</servlet-class>
     </servlet>
     <servlet-mapping>
      <servlet-name>FirstServlet</servlet-name>
      <url-pattern>/first</url-pattern>
     </servlet-mapping>
    </web-app>

     

    12、打包,可以在target目录下发现war包(当然这里还可以下载jetty插件,更方便)



     

     

    13、放到tomcat中,启动。访问页面,可以看到hello world输出。好了,大功告成!



     

     

     

    展开全文
  • 一、前言本文主要是图文详细介绍如何使用IntelliJ IDEA 创建基于Maven构建的Web项目的过程。二、步骤如果是第一次打开软件直接点击 Create New Project ,如果之前已经打开过项目了,需要点击菜单中 File -&gt; ...

    一、前言

    本文主要是图文详细介绍如何使用IntelliJ IDEA 创建基于Maven构建的Web项目的过程。

    二、步骤

    如果是第一次打开软件直接点击 Create New Project ,如果之前已经打开过项目了,需要点击菜单中 File -> New Module … 如下图


    点击Next


    点击Next


    点击Next


    最后点击Finish,完整的目录结构如下


    工程创建完了,那我们要怎么运行基于Maven的Web项目呢?
    参照《菜鸟学习IntelliJ IDEA之如何配置Tomcat》这篇文章进行Tomcat服务器配置,这里就不再赘述了

    主要配置界面如下:



    配置完成后,点击主界面右上角绿色三角形,启动服务


    使用地址http://localhost:8080/FirstMaven/访问成功


    到此已经完成了项目创建、Tomcat配置、项目发布等过程。

    至此,我们关于IntelliJ IDEA教程之如何基于Maven创建Web工程介绍完毕。


    =======欢迎大家拍砖,小手一抖,多多点赞哟!=======

    版权声明:本文为博主原创文章,允许转载,但转载必须标明出处。


    展开全文
  • 上文我们一起学习了怎样搭建maven工程,这篇文章我就来教大家一起学习怎样用tomcat插件来启动web工程。 我们把服务层和表现层的工程都创建好了,目前来说,其实真正能运行的就2个,一个是表现层工程——taotao-...
  • 淘淘商城第4讲——使用maven tomcat插件启动web工程

    千次阅读 多人点赞 2017-05-24 00:48:39
    上文我们一起学习了怎样搭建maven工程,这篇文章我就来教大家一起学习怎样用tomcat插件来启动web工程。 我们把服务层和表现层的工程都创建好了,目前来说,其实真正能运行的就2个,一个是表现层工程——taotao-...
  • 上文我们一起学习了怎样搭建maven工程,这篇文章我就来教大家一起学习怎样用tomcat插件来启动web工程。  我们把服务层和表现层的工程都创建好了,目前来说,其实真正能运行的就2个,一个是表现层工程——taotao-...
  • 在jsp页面中添加${pageContext.request.contextPath}过后jsp里代码没有报错,但是它就是提示出问题了,怎么解决? 错误的根本原因:写${pageContext.request.contextPath}的时候,你会发现在el表达式里pageContext到...
  • 1. 本地启动配置在开发maven web项目时,可以使用tomcat7-maven-plugin插件本地启动tomcat服务,在工程pom文件中添加如下插件信息进行配置:org.apache.tomcat.maventomcat7-maven-plugin2.28080/使用maven build...
  • 目录介绍Eclipse的内嵌Mavenm2e-wtp插件m2e插件Eclispe使用独立安装的MavenEclipse导入Maven工程导入Maven工程的一些问题Eclipse新建Maven工程Eclipse构建Maven工程运行Java程序总结介绍上篇...
  • 目录介绍Eclipse的内嵌Mavenm2e-wtp插件m2e插件Eclispe使用独立安装的MavenEclipse导入Maven工程导入Maven工程的一些问题Eclipse新建Maven工程Eclipse构建Maven工程运行Java程序总结介绍上篇...
  • 如题,练习使用聚合工程时,因为模块maven-A-web和模块maven-B-web的前端使用的js文件是一样的,所以直接 从A工程下webapp中将js文件都复制了过来,结果B里的angularJS写的app.controller(service) ,在查询...
  • maven的目录结构中,一堆jar包都不在WEB-INF/lib目录下,怎么web工程发布到tomcat运行呢?需做如下设置: 打开工程属性,选中左边的Deploymemnt Assemly(web工程才有这个选项)。 删除Source为/WebContent的...
  • 1)Spring Tool Suite(STS),默认使用的web服务器是Pivotal,没有接触过,只用过tomcat,所以自己设置了tomcat8运行我的工程; 2)第二个问题就是maven依赖的安装,三个子工程有一定依赖关系,重点好像是依赖的...
  • (一)springboot web项目打jar包1、打包两种打包方式maven命令打包切换目录到工程根下,pom.xml所在位置,运行maven的打包命令mvn clean package -Dmaven.test.skip=trueIDEA 工具执行maven任务打包会在xxx项目模块下...
  • 我们用Eclipse工具编写maven web工程的时候经常会遇到,运行起来后404 的问题或者出现xxx class not found 类找不到,该类依赖于spring-web-XXXX.jar,看了下maven依赖库,该依赖是存在的,那是怎么回事,然后再看...
  • **小结:**同样的项目使用maven工程来实现,它的项目源码很小,可以推断它里面一定没有jar 包,没有jar包的项目怎么可能运行呢? 二、 什么是maven? 2.1 maven有两大功能 2.1.1依赖管理:就是对jar包管理的过程. ...
  • Maven01

    2017-05-30 22:08:03
    小结:同样的项目使用maven工程来实现,它的项目源码很小,可以初步推断它里面一定没有jar 包,继续思考,没有jar包的项目怎么可能运行呢? 分析jar包查找的过程 二、 分析出maven优点是如何实现的? 1.
  • Maven项目的建立

    2017-07-04 21:21:59
    一、 maven的好处? 1. 使用传统的web项目开发的crm大小 ...包,继续思考,没有jar包的项目怎么可能运行呢? 分析jar包查找的过程   二、 分析出maven优点是如何实现的? 1. 依赖管理 就是对jar 包管理的
  • Maven第一天

    2018-06-16 16:44:08
     同样的项目使用maven,它的大小小结:同样的项目使用maven工程来实现,它的项目源码很小,可以初步推断它里面一定没有jar 包,继续思考,没有jar包的项目怎么可能运行呢?分析jar包查找的过程二、 分析出maven...
  • 快速学习Maven导入jar

    2018-12-17 20:16:21
    最近接触了Java,需要使用... 帮你构建工程,管理jar包,编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目,生成Web站点。  不用手动控制项目间的依赖关系。 2.Maven怎么控制依赖  ...
  • 小结:同样的项目使用maven工程来实现,它的项目源码很小,可以初步推断它里面一定没有jar 包,继续思考,没有jar包的项目怎么可能运行呢? 分析jar包查找的过程   分析出maven优点是如何实现的?   ...
  • 小结:同样的项目使用maven工程来实现,它的项目源码很小,可以初步推断它里面一定没有jar 包,继续思考,没有jar包的项目怎么可能运行呢? 分析jar包查找的过程 二、分析出maven优点是如何实现的? 1.依赖管理 ...
  • 怎么理解Maven ...能帮你构建工程,管理jar包,编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目,生成Web站点, 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdo...
  • 上面的步骤仅仅帮我们实现了最简单的多工程创建方式,但并不意味着能够将程序运行起来,因为在web工程的war包目录中并没有包含访问接口、service层的逻辑实现以及Dao层的数据访问,那么怎么实现这些jar包在打web层的...
  • mavn

    2018-08-30 22:09:30
    小结:同样的项目使用maven工程来实现,它的项目源码很小,可以初步推断它里面一定没有jar 包,继续思考,没有jar包的项目怎么可能运行呢? 分析jar包查找的过程 分析出maven优点是如何实现的? 依赖管理 就是对...
  • 在做这个医药采购项目刚开始搭建整个框架的时候,出现了这个问题。我记得在做上一个商贸项目的时候也出现了这个问题,不过上一次使用... 自己开始回忆上一次是怎么解决的了,后来我对整个聚合工程进行Maven clean,而
  • 用main方法测试会出现乱码,房子linux上运行web工程也是乱码。 下面是processor方法中,做各种尝试,打印出来的是乱码: public class ChangelogProcessor implements ItemProcessor, Changelog> { public ...
  • 第06节、Maven创建分模块工程 第06节、Maven打包原理 资料+源码.rar 0015-蚂蚁课堂(每特学院)-2期-DNS解析过程&Servlet;源码分析&外网映射工具&Cookie;与Session实现原理 第01节、javase与javaee区别 第02节、web...

空空如也

空空如也

1 2
收藏数 30
精华内容 12
热门标签
关键字:

mavenweb工程怎么运行