设为首页 收藏本站
查看: 826|回复: 0

[经验分享] MAVEN配置jetty

[复制链接]

尚未签到

发表于 2017-2-25 13:28:22 | 显示全部楼层 |阅读模式
MAVEN配置jetty

 
1、在setting.xml文件中添加配置(如果没有配置可能导致jetty热部署不能修改静态文件)
<pluginGroups>
    <!-- pluginGroup
     | Specifies a further group identifier to use for plugin lookup.
    <pluginGroup>com.your.plugins</pluginGroup>
    -->
     <pluginGroup>org.mortbay.jetty</pluginGroup>
  </pluginGroups>
 
2、首先是webdefault.xml要准备好,它是配置Jetty的,这个可以从Jetty的包中找到(jetty-6.1.26.jar\org\mortbay\jetty\webapp\webdefault.xml),并复制到resources下,这里多说一点,默认Jetty运行时是锁定JS/CSS等静态文件的,如果想在Jetty运行时也能修改它们,要在webdefault.xml中修改如下设置: 
<init-param>  
  <param-name>useFileMappedBuffer</param-name>  
  <param-value>false</param-value>  
</init-param>  
 
3、修改pom.xml

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<webXml>src\main\webapp\WEB-INF\web.xml</webXml>
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.10</version>
<configuration>
<!-- 在很短的时间间隔内在扫描web应用检查是否有改变,如果发觉有任何改变则自动热部署。默认为0,表示禁用热部署检查。任何一个大于0的数字都将表示启用。 -->
<scanIntervalSeconds>0</scanIntervalSeconds>
<webAppConfig>
<!--jetty插件启动后的访问路径: http://localhost:8080/test-->
<contextPath>/test</contextPath>
<tempDirectory>${project.build.directory}/work</tempDirectory>
<defaultsDescriptor>src/main/resources/webdefault.xml</defaultsDescriptor>
</webAppConfig>
</configuration>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-tools</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
</plugin>
</plugins>
<finalName>projectname</finalName>
</build>
</project>
 
 
4、log4j.properties
log4j.rootCategory=INFO, stdout , R  
   
log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
log4j.appender.stdout.layout.ConversionPattern=[WO] %p [%t] %C.%M(%L) | %m%n  
   
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender  
log4j.appender.R.DatePattern='.'yyyy-MM-dd   
log4j.appender.R.File=D:/notify-subscription.log   
log4j.appender.R.layout=org.apache.log4j.PatternLayout  
log4j.appender.R.layout.ConversionPattern=%d-[WO] %p %t %c - %m%n  
log4j.appender.R.Append=true
 
5、启动
jetty:run 启动jetty容器
 
jetty:run -Djetty.port=9999  启动jetty容器并且制定容器端口
 
mvn -Dslf4j=false -Dlog4j.configuration=file:./target/classes/log4j.properties jetty:run
 
 
经常修改文件会出现CPU飙升的情况,是因为jetty在reload
所以还需要配置一个jrebel破解版,直接对类进行修改,避免reload
  下载jrebel.jar 破解版
  然后拷贝到 %REBEL_HOME% 目录并添加该环境变量,进入目录运行 java -jar %REBEL_HOME%/jrebel.jar 生成根据本机 JVM 环境生成的 jrebel-bootstrap.jar 运行文件。
  然后添加 MAVEN 运行环境变量:MAVEN_OPTS 值为 -noverify -Xbootclasspath/p:%REBEL_HOME%/jrebel-bootstrap.jar;%REBEL_HOME%/jrebel.jar 然后再配置目标项目的 pom.xml,关闭 maven 的 jetty 插件本身的 reload 配置: 
  <plugin>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>jetty-maven-plugin</artifactId>
  <configuration>
  <scanIntervalSeconds>0</scanIntervalSeconds>
  </configuration>
  </plugin>
  在pom.xml 中加入这个依赖:
  <dependency>  
  <groupId>org.apache.velocity</groupId>  
  <artifactId>velocity</artifactId>  
  <version>1.7</version>  
  </dependency>  
  <dependency>  
  <groupId>org.apache.velocity</groupId>  
  <artifactId>velocity-tools</artifactId>  
  <version>2.0</version>  
  </dependency>
  启动:
  mvn -Dslf4j=false -Dlog4j.configuration=file:./target/classes/log4j.properties jetty:run
 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-347119-1-1.html 上篇帖子: jetty,maven,eclipse使用 下篇帖子: 启动jetty方式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表