欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

项目使用Jetty启动

程序员文章站 2022-06-30 21:32:49
...

在eclipse开发工具中使用jetty启动项目

第一、在eclipse中使用RunJettyRun插件来进行jetty启动

Eclipse中Install New Software 然后Add -> Archive,选择离线包安装即可

或者 将附件离线包直接放到eclipse\plugins文件夹下,重启eclipse就可以使用。

Debug Confingurations >> jetty Webapp 在里面新创建jetty就可以使用

优点:启动比较快

缺点:这种方式获取到的jetty版本比较老

 

第二、在eclipse>>Install Available Software>>add 添加run-jetty-run 插件,插件地址如下所示:

http://run-jetty-run.googlecode.com/svn/trunk/updatesite

优点:启动比较快 配置方便

缺点:这种方式获取到的jetty版本比较老

 

第三、在Eclipse和Maven中基于jetty-maven-plugin 插件启动

在pom.xml中添加一下配置

 

<plugin>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>jetty-maven-plugin</artifactId>
  <version>8.1.16.v20140903</version>
  <configuration>
	<scanIntervalSeconds>3</scanIntervalSeconds>  
	<webApp>
	  <allowDuplicateFragmentNames>true</allowDuplicateFragmentNames>
	  <contextPath>/</contextPath>
	</webApp>
	<resourceBases>
	   <directory>${basedir}/src/main/webapp</directory>
	</resourceBases>
  </configuration>
 </plugin>

 在Maven中执行以下命令进行jetty 启动

 

 

mvn -Djetty.port=80  jetty:run 

 注:以上配置简单说明

 

    -Djetty.port=80 : 用以指定jetty启动所占用端口,这里设置的是80

 scanIntervalSeconds :设置热部署间隔时间,多长时间自动编译部署一次

 allowDuplicateFragmentNames :true 由于Maven 的pom中可能存在一个包多次引用的情况,如果不加这个配置会出现如下错误(jar包冲突错误):

 

java.lang.IllegalStateException: Duplicate fragment name: spring_web for jar:file:/Users/zhoukai/.m2/repository/org/springframework/spring-web/3.2.2.RELEASE/spring-web-3.2.2.RELEASE.jar!/META-INF/web-fragment.xml and jar:file:/Users/zhoukai/develp/temp/webinf/WEB-INF/lib/spring-web-3.2.2.RELEASE.jar!/META-INF/web-fragment.xml
	at org.eclipse.jetty.webapp.MetaData.addFragment(MetaData.java:244)
	at org.eclipse.jetty.webapp.FragmentConfiguration.findWebFragments(FragmentConfiguration.java:72)
	at org.eclipse.jetty.webapp.FragmentConfiguration.preConfigure(FragmentConfiguration.java:39)
	at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:465)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:495)
	at org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:180)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
	at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:226)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:164)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
	at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:226)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
	at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:93)
	at org.eclipse.jetty.server.Server.doStart(Server.java:243)
	at org.mortbay.jetty.plugin.JettyServer.doStart(JettyServer.java:67)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)

    resourceBases:用以指定项目文件所在的路径

    contextPath:指定访问的url根目录可以为/hellowWord等等

    * jetty的启动端口只能在mvn启动命令中设置

   

    具体jetty-maven-plugin详细配置可参照官网地址: http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin

http://*.com/questions/26150681/how-to-hot-redeploy-non-active-maven-project-via-jetty-maven-plugin