maven3 jetty jrebel 搭建可调式的开发环境_jetty源码开发环境搭建-程序员宅基地

技术标签: Maven  Eclipse  

信息:maven3 jetty7.2 jrebel3.6.1

jetty是一个轻量级的container,一般和maven搭配使用,关于jrebel的作用,到网络查一查就知道了,绝对是好东西。

下面开始搭建环境,一个JSF2.0的web 应用为例

 

1首先使用eclipse建立一个web 接口的maven项目(不要告诉我你不知道怎么建)

j建好之后目录如下


接下来开始编辑pom.xml文件,文件内容如下<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Xml代码   收藏代码
  1.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  2.     <modelVersion>4.0.0</modelVersion>  
  3.     <groupId>com.study</groupId>  
  4.     <artifactId>jetty</artifactId>  
  5.     <packaging>war</packaging>  
  6.     <version>0.0.1-SNAPSHOT</version>  
  7.     <name>jetty Maven Webapp</name>  
  8.     <url>http://maven.apache.org</url>  
  9.     <repositories>  
  10.     <!-- 配置下载JSF2.0 类库的maven仓库 -->  
  11.         <repository>  
  12.             <id>java.net</id>  
  13.             <name>java.net</name>  
  14.             <url>http://download.java.net/maven/2</url>  
  15.         </repository>  
  16.     </repositories>  
  17.     <!-- JSF2.0的依赖 -->  
  18.     <dependencies>  
  19.         <dependency>  
  20.             <groupId>com.sun.faces</groupId>  
  21.             <artifactId>jsf-api</artifactId>  
  22.             <version>2.0.4-b09</version>  
  23.             <scope>compile</scope>  
  24.         </dependency>  
  25.   
  26.         <dependency>  
  27.             <groupId>com.sun.faces</groupId>  
  28.             <artifactId>jsf-impl</artifactId>  
  29.             <version>2.0.4-b09</version>  
  30.             <scope>compile</scope>  
  31.         </dependency>  
  32.   
  33.         <dependency>  
  34.             <groupId>junit</groupId>  
  35.             <artifactId>junit</artifactId>  
  36.             <version>3.8.1</version>  
  37.             <scope>test</scope>  
  38.         </dependency>  
  39.     </dependencies>  
  40.   
  41.     <build>  
  42.         <finalName>jetty</finalName>  
  43.         <plugins>  
  44.         <!-- 配置 maven 的 jetty 插件 -->  
  45.             <plugin>  
  46.                 <groupId>org.mortbay.jetty</groupId>  
  47.                 <artifactId>jetty-maven-plugin</artifactId>  
  48.                 <version>7.2.2.v20101205</version>  
  49.                 <configuration>  
  50.                     <webAppConfig>  
  51.                         <contextPath> /${project.artifactId}</contextPath>              <!--  指定 root context 在这里指定为${project.artifactId} 即 jetty,  
  52.                         那么访问时就用http://localized:8080/jetty 访问,  
  53.                         如果指定梶为test 就用http://localized:8080/test访问,更多信息,请查看jetty 插件官方文档-->  
  54.                     </webAppConfig>  
  55.                     <!-- 指定额外需要监控变化的文件或文件夹,主要用于热部署中的识别文件更新 -->  
  56.                     <scanTargetPatterns>  
  57.                         <scanTargetPattern>  
  58.                             <directory>src</directory>  
  59.                             <includes>  
  60.                                 <include>**/*.java</include>  
  61.                                 <include>**/*.properties</include>  
  62.                             </includes>  
  63.                             <!-- <excludes> <exclude>**/*.xml</exclude> <exclude>**/myspecial.properties</exclude>  
  64.                                 </excludes> -->  
  65.                         </scanTargetPattern>  
  66.                     </scanTargetPatterns>  
  67.                     <scanIntervalSeconds>0</scanIntervalSeconds><!-- 指定监控的扫描时间间隔,0为关闭jetty自身的热部署,主要是为了使用jrebel -->  
  68.                     <webAppSourceDirectory>${basedir}/src/main/webapp</webAppSourceDirectory><!-- 指定web页面的文件夹 -->  
  69.                 </configuration>  
  70.             </plugin>  
  71.   
  72. <!-- jerebel maven 插件,用于生成jrebel.xml -->  
  73.             <plugin>  
  74.                 <groupId>org.zeroturnaround</groupId>  
  75.                 <artifactId>jrebel-maven-plugin</artifactId>  
  76.                 <executions>  
  77.                     <execution>  
  78.                         <id>generate-rebel-xml</id>  
  79.                         <phase>process-resources</phase>  
  80.                         <goals>  
  81.                             <goal>generate</goal>  
  82.                         </goals>  
  83.                     </execution>  
  84.                 </executions>  
  85.                 <configuration>  
  86.                 <rebelXmlDirectory>${basedir}/src/main/webapp/WEB-INF/classes</rebelXmlDirectory><!-- 指定生成的jrebel.xml放在哪里,  
  87.                 要求放在web应用的 classpath下 -->  
  88.                 </configuration>  
  89.             </plugin>  
  90.         </plugins>  
  91.         <outputDirectory>${basedir}/src/main/webapp/WEB-INF/classes</outputDirectory><!-- 指定编译后文件的存放路径,因为jetty默认src/main/webapp为  
  92.         web应用的根目录而 maven compile 目标后的默认classpath 在target文件夹下,就造成jrebel.xml无法兼顾 jetty 默认的是webapp中的classes为 web 应用的根目录,  
  93.         而maven 默认是target 目录所以需要修改该maven的默认classes目录。 -->  
  94.     </build>  
  95. </project>  
 

 配置好后,就剩下加入jrebel的参数了。要在eclipse里加入jrebel参数,需要装jrebel for eclipse 插件,装好之后,对pom.xml点右键,选择run->run configurations,在弹出的对话框中选择标签jrebel,勾选enable jrebel agent



 确定,然后run就行了。如果要调试,就右键点击pom文件,选择debug就行。整个maven 项目已经上传,可以下载自己试试


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lizhibin3944/article/details/9422643

智能推荐

Science Advances: 中科院微生物所叶健团队揭示双生病毒调控植物免疫平衡制约机制...-程序员宅基地

文章浏览阅读601次。病毒,作为非细胞的生物形式,只能在活细胞内增殖,专性活细胞内寄生。我们居住的星球病毒数量惊人,大约有1031个,其基因头尾相连可长达2.5亿光年。现代微生物学的奠基人路易斯巴斯德用病毒(..._editor daniel j kliebenstein

Java导出Word文档(可设置字体)_java list数据生成word自定义字体大小和字体颜色-程序员宅基地

文章浏览阅读7.5k次。原作者:兰博基尼http://hujinfan.iteye.com/blog/847029导出内容导Word文档中,可设置字体,亲测可用。importjava.io.FileOutputStream;import java.io.IOException;import java.util.List;importcom.lowagie.text.Document;impo_java list数据生成word自定义字体大小和字体颜色

X1 grok-1 开源大语言模型下载_grok-1下载-程序员宅基地

文章浏览阅读795次,点赞11次,收藏4次。我们正在发布我们的大型语言模型 Grok-1 的基本模型权重和网络架构。Grok-1 是一个 3140 亿参数的专家混合模型,由 xAI 从头开始训练。_grok-1下载

OpenStack对象存储监控(OpenStack Object Storage Monitoring)_对象存储 监控-程序员宅基地

文章浏览阅读1.9k次。翻译自OpenStack1.8.0官方文档第六章:http://docs.openstack.org/trunk/openstack-object-storage/admin/content/ch_introduction-to-openstack-object-storage-monitoring.html_对象存储 监控

cs架构接口协议(常用socket协议)与bs架构接口协议(常用http协议)_cs架构传输协议-程序员宅基地

文章浏览阅读6.8k次。Socket原理以及与websocket、http的区别:B/S的系统通常使用http协议进行客户端和服务器商的信息交换,C/S的系统通常使用socket协议进行信息交换参考:https://blog.csdn.net/qq_39813400/article/details/106721810Socket原理:服务端有一个进程(或者多个进程)在指定端口等待客户来连接,服务程序等待客户的连接信息,一旦连接上之后,就可以按设计的数据交换方法和格式进行数据传输。客户端在需要的时刻发出向服务器端的连接请求。_cs架构传输协议

信息安全原理与实践(第2版) [Mark Stamp 著][张戈 译] PDF完整版_《信息安全原理与实践(第2版)》张戈译,清华大学pdf出版社.-程序员宅基地

文章浏览阅读6.7k次,点赞20次,收藏18次。《信息安全原理与实践(第2版)》原书名:Information Security: Principles and Practice, 2nd Edition作者: (美)Mark Stamp译者: 张 戈丛书名: 安全技术经典译丛出版社:清华大学出版社ISBN:9787302317852上架时间:2013-5-30出版日期:2013 年5月开本:16开页码:..._《信息安全原理与实践(第2版)》张戈译,清华大学pdf出版社.

随便推点

Python if else条件语句详解-程序员宅基地

文章浏览阅读970次,点赞37次,收藏17次。在上面代码中,因为 if 后的条件执行体的最后一条语句没有缩进,所以系统只把 c-= 1 一行代码作为条件执行体,当 c-=1 语句执行结束后,if 语句也就执行结束了。在上面的条件语句中,if expression:、elif expression:及 else:后缩进的多行代码被称为代码块,一个代码块通常被当成一个整体来执行(除非在运行过程中遇到return、break、continue等关键字),因此这个代码块也被称为条件执行体。Python 的 if 分支既可作为语句使用,也可作为表达式使用。

21天leetcode打卡_leetcode打卡成功的页面-程序员宅基地

文章浏览阅读189次。第一天开始 因为自己比较菜 就先选择从最简单的开始第一题做的是左旋转字符串用的是定义了两个字符串,然后分开赋值最后作加法运算,但是一开始初始化时,string s=NULL报错了,所以这里不能赋为空,初始化就默认为空,最后运行用了320ms,打败了7%的人,非常不太行的一个算法..._leetcode打卡成功的页面

Android获取Manifest中meta-data元素的值_kotlin 获取清单文件里的meta-data-程序员宅基地

文章浏览阅读1.8w次,点赞6次,收藏11次。转载:http://blog.csdn.net/zhanghao_hulk/article/details/8662917在AndroidManifest.xml中,< meta-data>元素可以作为子元素,被包含在< activity>、< application> 、< service>和< receiver>元素中,不同的父元素,在应用时读取的方法也不同。1 :在Activity应用< me_kotlin 获取清单文件里的meta-data

考研英语一小作文笔记_i am very delighted to recall the past time with y-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏13次。书信:LetterEmail通知:Noticen通知)announce v宣布)海报:Poster (考研没考过,考的可能性不大)简历:Resume假条:A Request for Leave。_i am very delighted to recall the past time with you

UI动效设计工具都有哪些?-程序员宅基地

文章浏览阅读131次。UI动效可以在有限的空间内传递更多的信息,可以快速吸引用户的注意力,但可以直观地呈现,给用户更流畅的操作体验。推荐4个UI动效软件,帮助您有效地制作UI设计动态效果。即时设计是一款「专业UI设计工具」,不受平台限制,打开浏览器即可开始创作。它不仅具备精细化设计能力,还自带丰富的共享设计资源,同时支持多人实时协作、设计成果一键分享交付,让设计师在工作中每一个步骤上都能拥有更高效愉悦的体验。丰富的交互事件配合智能动画,让设计师能够非常快速地实现各种超棒的交互动效,模拟真实效果~

什么是机器学习中的正则化(Regularization)_机器学习中正则化的名词解释-程序员宅基地

文章浏览阅读5.7k次,点赞5次,收藏17次。https://www.toutiao.com/a6700336339163808267/Regularization:在现有Features不变情况下,降低部分不重要Features的影响力。这个方法有助于有很多Features且每个Features都有贡献的Neural Network避免Overfitting。Regularization不是新鲜的词,我这里主要记录其在神经..._机器学习中正则化的名词解释