参考 http://jira.codehaus.org/browse/JETTY-1503
写道
Don't forget you can use the following to specify which jars to scan in your webapp:
org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern
eg
./.*foo-api-[^/]\.jar$|./.*bar-[^/]\.jar$|./.*wibble[^/]\.jar$
org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern
eg
./.*foo-api-[^/]\.jar$|./.*bar-[^/]\.jar$|./.*wibble[^/]\.jar$
在使用maven开发web项目极大地方便了jar包的依赖,在测试时也可以集成Servlet容器,从启动速度和量级上看,Jetty无疑是不二选择, 然而从8.x开始,如果你的web项目中不包含数据库访问(或者说没有事务管理器)的话,在其启动时会提示找不到事务管理器,输出信息如下:
oejpw.PlusConfiguration:No Transaction manager found - if your webapp requires one, please configure one.
而且启动过程会暂停十几秒,在反复调试代码时很浪费时间,经过多天在网上搜索资料,终于找到了解决办法。
首先是pom.xml中关于插件的配置:
<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>8.1.16.v20140903</version> <configuration> <jettyXml>conf/jetty.xml,conf/jetty-ssl.xml</jettyXml> <contextXml>conf/jetty-contexts.xml</contextXml> <scanIntervalSeconds>10</scanIntervalSeconds> <webApp> <contextPath>/</contextPath> </webApp> </configuration> </plugin>
重要的是加上
<contextXml>
配置,我们要对jetty的服务器属性进行配置。本例中把配置文件放到了/src/main/resources中(如果你不希望打包时带上这个文件,可 以放到/src/test/resources中,改下配置即可),文件名为:jetty-context.xml。接下来是配置文件:
<?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> <!-- =============================================================== --> <!-- Add a ContextProvider to the deployment manager --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <!-- This scans the webapps directory for war files and directories --> <!-- to deploy. --> <!-- This configuration must be used with jetty-deploy.xml, which --> <!-- creates the deployment manager instance --> <!-- =============================================================== --> <Configure id="Server" class="org.eclipse.jetty.webapp.WebAppContext"> <Call name="setAttribute"> <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg> <Arg>.*/.*jsp-api-[^/]\.jar$|./.*jsp-[^/]\.jar$|./.*taglibs[^/]*\.jar$ </Arg> </Call> </Configure>
相关推荐
4. **与Maven生命周期集成**:Maven Jetty Plugin提供了多个目标(goals),例如`jetty:run`用于启动服务器,`jetty:stop`用于停止服务器,这些目标可以与Maven的生命周期阶段结合,方便地在构建过程中调用。...
3. **运行Jetty插件**:在命令行中,我们可以使用Maven命令来启动Jetty服务器。在项目根目录下,执行以下命令: ``` mvn jetty:run ``` 这将启动Jetty服务器并加载项目。如果配置正确,现在你每次修改源代码后,...
- 使用旧版本的`maven-jetty-plugin`可能会导致某些新特性无法使用或与其他库冲突,因此保持插件更新是很重要的。 6. 结论: `maven-jetty-plugin`简化了Java Web应用的开发和测试过程,通过Maven的命令行即可...
### Maven Jetty 插件的问题(css/js等目录死锁)的解决 #### 背景介绍 在软件开发过程中,Jetty作为一个轻量级的Web服务器,常常被用于Java Web项目的开发与测试环境中。然而,在使用Maven Jetty插件进行项目构建...
对于Jetty集成,我们通常会用到Maven Jetty插件,它允许我们在开发过程中直接通过Maven命令启动Jetty服务器,而无需部署到正式的Servlet容器中。 ** Maven Jetty插件的配置 ** 在Maven的pom.xml文件中,我们需要...
jetty 6 maven官方插件 ,在maven官网下载的
Maven是一个项目管理工具,它帮助开发者构建、管理和部署Java项目,而Jetty则是一个轻量级的嵌入式Servlet容器,常用于快速启动Web应用程序。这篇内容将深入探讨如何将两者结合,以便在开发过程中实现高效且便捷的...
在IT行业中,Maven和Jetty是两个非常重要的工具,它们在Java开发中扮演着关键的角色。本篇文章将深入探讨如何在IntelliJ IDEA(IDEA)中整合Maven和Jetty,创建一个简单的实例,以便快速开发和测试Java Web应用。 ...
通过在Maven的`pom.xml`文件中添加Jetty插件,开发者可以在开发过程中快速启动和调试Web应用,无需每次都打包和部署到完整的应用服务器。 首先,我们需要了解Maven的插件系统。Maven插件是Maven生命周期的一部分,...
maven-jetty-jspc-plugin-6.1.25-sources.jar
要配置`Maven + Jetty`,我们需要在`pom.xml`文件中添加Jetty Maven插件。以下是一个示例配置: ```xml ... ... <groupId>org.mortbay.jetty <artifactId>maven-jetty-plugin <version>6.1.26...
- **创建Maven项目**: 使用Eclipse的新建项目向导,选择“Maven Project”,根据提示创建一个标准的Maven Web应用项目。 - **添加Jetty插件**: 在`pom.xml`文件中,添加Jetty插件依赖,例如: ```xml ...
通过Maven的jetty插件,可以很容易地运行你的Web应用。在命令行中执行以下命令: ``` mvn jetty:run ``` 现在,你可以通过HTTP(http://localhost:8080/hello)和HTTPS(https://localhost:8443/hello)访问你的应用...
Maven 的插件系统是其核心功能之一,允许开发者通过安装和配置各种插件来扩展Maven的功能。 标题中的"apache-maven-3.3.9-bin.zip"是一个包含Apache Maven 3.3.9版本的二进制发行包。这个版本发布于2015年,是Maven...
Jetty插件是一种用于集成Jetty服务器到其他开发环境或构建流程中的工具。Jetty是一款轻量级、高性能的Java Web服务器和HTTP协议栈,它广泛应用于各种项目,包括Servlet容器、WebSocket支持以及用于测试和部署Web应用...
5. **构建工具集成**:与Maven、Gradle等构建工具无缝集成,可以在构建过程中自动启动Jetty进行测试和部署。 6. **资源管理**:Jetty插件可以管理Web应用所需的静态资源,如HTML、CSS、JavaScript文件,以及图片和...