- 浏览: 1526845 次
- 性别:
- 来自: 厦门
博客专栏
-
Spring 3.x企业实...
浏览量:464072
文章分类
最新评论
-
JyeChou:
学习Spring必学的Java基础知识(1)----反射 -
hhzhaoheng:
...
《Spring4.x企业应用开发实战》光盘资料下载 -
renlongnian:
//assertReflectionEquals(user1, ...
单元测试系列之3:测试整合之王Unitils -
骑着蜗牛超F1:
huang_yong 写道我的经验是,只需定义三层:1.ent ...
Spring的事务管理难点剖析(2):应用分层的迷惑 -
wangyudong:
工具地址貌似更新了哦https://github.com/Wi ...
几种常用的REST webservice客户端测试工具
maven-jetty-plugin插件的配置
<build> <finalName>rop-sample</finalName> <plugins> <!-- jetty插件 --> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.5</version> <configuration> <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory> <scanIntervalSeconds>3</scanIntervalSeconds> <contextPath>/</contextPath> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8088</port> </connector> </connectors> </configuration> </plugin> </plugins> </build>
如果只是象上面的配置,jetty会锁定WEB项目下的文件,不让人更改。这给开发带来很大麻烦,因为我们在测试时,发现问题希望马上能够更改,然后刷新页面生效。
这时可以添加一个配置解决:
<build> <finalName>rop-sample</finalName> <plugins> <!-- jetty插件 --> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.5</version> <configuration> <!-- 添加这行 --><webDefaultXml>src/main/resources/jetty/webdefault.xml</webDefaultXml> <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory> <scanIntervalSeconds>3</scanIntervalSeconds> <contextPath>/</contextPath> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8088</port> </connector> </connectors> </configuration> </plugin> </plugins> </build>
webdefault.xml文件内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- ===================================================================== --> <!-- This file contains the default descriptor for web applications. --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <!-- The intent of this descriptor is to include jetty specific or common --> <!-- configuration for all webapps. If a context has a webdefault.xml --> <!-- descriptor, it is applied before the contexts own web.xml file --> <!-- --> <!-- A context may be assigned a default descriptor by: --> <!-- + Calling WebApplicationContext.setDefaultsDescriptor --> <!-- + Passed an arg to addWebApplications --> <!-- --> <!-- This file is used both as the resource within the jetty.jar (which is --> <!-- used as the default if no explicit defaults descriptor is set) and it --> <!-- is copied to the etc directory of the Jetty distro and explicitly --> <!-- by the jetty.xml file. --> <!-- --> <!-- ===================================================================== --> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" metadata-complete="true" version="2.5"> <description> Default web.xml file. This file is applied to a Web application before it's own WEB_INF/web.xml file </description> <!-- ==================================================================== --> <!-- Context params to control Session Cookies --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <!-- UNCOMMENT TO ACTIVATE <context-param> <param-name>org.mortbay.jetty.servlet.SessionDomain</param-name> <param-value>127.0.0.1</param-value> </context-param> <context-param> <param-name>org.mortbay.jetty.servlet.SessionPath</param-name> <param-value>/</param-value> </context-param> <context-param> <param-name>org.mortbay.jetty.servlet.MaxAge</param-name> <param-value>-1</param-value> </context-param> --> <context-param> <param-name>org.mortbay.jetty.webapp.NoTLDJarPattern</param-name> <param-value>start.jar|ant-.*\.jar|dojo-.*\.jar|jetty-.*\.jar|jsp-api-.*\.jar|junit-.*\.jar|servlet-api-.*\.jar|dnsns\.jar|rt\.jar|jsse\.jar|tools\.jar|sunpkcs11\.jar|sunjce_provider\.jar|xerces.*\.jar</param-value> </context-param> <!-- ==================================================================== --> <!-- The default servlet. --> <!-- This servlet, normally mapped to /, provides the handling for static --> <!-- content, OPTIONS and TRACE methods for the context. --> <!-- The following initParameters are supported: --> <!-- --> <!-- acceptRanges If true, range requests and responses are --> <!-- supported --> <!-- --> <!-- dirAllowed If true, directory listings are returned if no --> <!-- welcome file is found. Else 403 Forbidden. --> <!-- --> <!-- redirectWelcome If true, redirect welcome file requests --> <!-- else use request dispatcher forwards --> <!-- --> <!-- gzip If set to true, then static content will be served--> <!-- as gzip content encoded if a matching resource is --> <!-- found ending with ".gz" --> <!-- --> <!-- resoureBase Can be set to replace the context resource base --> <!-- --> <!-- relativeResourceBase --> <!-- Set with a pathname relative to the base of the --> <!-- servlet context root. Useful for only serving --> <!-- static content from only specific subdirectories. --> <!-- --> <!-- useFileMappedBuffer --> <!-- If set to true (the default), a memory mapped --> <!-- file buffer will be used to serve static content --> <!-- when using an NIO connector. Setting this value --> <!-- to false means that a direct buffer will be used --> <!-- instead. If you are having trouble with Windows --> <!-- file locking, set this to false. --> <!-- --> <!-- cacheControl If set, all static content will have this value --> <!-- set as the cache-control header. --> <!-- --> <!-- maxCacheSize Maximum size of the static resource cache --> <!-- --> <!-- maxCachedFileSize Maximum size of any single file in the cache --> <!-- --> <!-- maxCachedFiles Maximum number of files in the cache --> <!-- --> <!-- cacheType "nio", "bio" or "both" to determine the type(s) --> <!-- of resource cache. A bio cached buffer may be used--> <!-- by nio but is not as efficient as a nio buffer. --> <!-- An nio cached buffer may not be used by bio. --> <!-- --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <servlet> <servlet-name>default</servlet-name> <servlet-class>org.mortbay.jetty.servlet.DefaultServlet</servlet-class> <init-param> <param-name>acceptRanges</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>dirAllowed</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>redirectWelcome</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>maxCacheSize</param-name> <param-value>4000000</param-value> </init-param> <init-param> <param-name>maxCachedFileSize</param-name> <param-value>254000</param-value> </init-param> <init-param> <param-name>maxCachedFiles</param-name> <param-value>1000</param-value> </init-param> <init-param> <param-name>cacheType</param-name> <param-value>both</param-value> </init-param> <init-param> <param-name>gzip</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>useFileMappedBuffer</param-name> <param-value>false</param-value> <!--?true??false??????????????,?????????????????? update by chenmk 2013.6.24--> </init-param> <!-- <init-param> <param-name>cacheControl</param-name> <param-value>max-age=3600,public</param-value> </init-param> --> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- ==================================================================== --> <!-- JSP Servlet --> <!-- This is the jasper JSP servlet from the jakarta project --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <!-- The JSP page compiler and execution servlet, which is the mechanism --> <!-- used by Glassfish to support JSP pages. Traditionally, this servlet --> <!-- is mapped to URL patterh "*.jsp". This servlet supports the --> <!-- following initialization parameters (default values are in square --> <!-- brackets): --> <!-- --> <!-- checkInterval If development is false and reloading is true, --> <!-- background compiles are enabled. checkInterval --> <!-- is the time in seconds between checks to see --> <!-- if a JSP page needs to be recompiled. [300] --> <!-- --> <!-- compiler Which compiler Ant should use to compile JSP --> <!-- pages. See the Ant documenation for more --> <!-- information. [javac] --> <!-- --> <!-- classdebuginfo Should the class file be compiled with --> <!-- debugging information? [true] --> <!-- --> <!-- classpath What class path should I use while compiling --> <!-- generated servlets? [Created dynamically --> <!-- based on the current web application] --> <!-- Set to ? to make the container explicitly set --> <!-- this parameter. --> <!-- --> <!-- development Is Jasper used in development mode (will check --> <!-- for JSP modification on every access)? [true] --> <!-- --> <!-- enablePooling Determines whether tag handler pooling is --> <!-- enabled [true] --> <!-- --> <!-- fork Tell Ant to fork compiles of JSP pages so that --> <!-- a separate JVM is used for JSP page compiles --> <!-- from the one Tomcat is running in. [true] --> <!-- --> <!-- ieClassId The class-id value to be sent to Internet --> <!-- Explorer when using <jsp:plugin> tags. --> <!-- [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93] --> <!-- --> <!-- javaEncoding Java file encoding to use for generating java --> <!-- source files. [UTF-8] --> <!-- --> <!-- keepgenerated Should we keep the generated Java source code --> <!-- for each page instead of deleting it? [true] --> <!-- --> <!-- logVerbosityLevel The level of detailed messages to be produced --> <!-- by this servlet. Increasing levels cause the --> <!-- generation of more messages. Valid values are --> <!-- FATAL, ERROR, WARNING, INFORMATION, and DEBUG. --> <!-- [WARNING] --> <!-- --> <!-- mappedfile Should we generate static content with one --> <!-- print statement per input line, to ease --> <!-- debugging? [false] --> <!-- --> <!-- --> <!-- reloading Should Jasper check for modified JSPs? [true] --> <!-- --> <!-- suppressSmap Should the generation of SMAP info for JSR45 --> <!-- debugging be suppressed? [false] --> <!-- --> <!-- dumpSmap Should the SMAP info for JSR45 debugging be --> <!-- dumped to a file? [false] --> <!-- False if suppressSmap is true --> <!-- --> <!-- scratchdir What scratch directory should we use when --> <!-- compiling JSP pages? [default work directory --> <!-- for the current web application] --> <!-- --> <!-- tagpoolMaxSize The maximum tag handler pool size [5] --> <!-- --> <!-- xpoweredBy Determines whether X-Powered-By response --> <!-- header is added by generated servlet [false] --> <!-- --> <!-- If you wish to use Jikes to compile JSP pages: --> <!-- Set the init parameter "compiler" to "jikes". Define --> <!-- the property "-Dbuild.compiler.emacs=true" when starting Jetty --> <!-- to cause Jikes to emit error messages in a format compatible with --> <!-- Jasper. --> <!-- If you get an error reporting that jikes can't use UTF-8 encoding, --> <!-- try setting the init parameter "javaEncoding" to "ISO-8859-1". --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <servlet id="jsp"> <servlet-name>jsp</servlet-name> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> <init-param> <param-name>logVerbosityLevel</param-name> <param-value>DEBUG</param-value> </init-param> <init-param> <param-name>fork</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>xpoweredBy</param-name> <param-value>false</param-value> </init-param> <!-- <init-param> <param-name>classpath</param-name> <param-value>?</param-value> </init-param> --> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>*.jsp</url-pattern> <url-pattern>*.jspf</url-pattern> <url-pattern>*.jspx</url-pattern> <url-pattern>*.xsp</url-pattern> <url-pattern>*.JSP</url-pattern> <url-pattern>*.JSPF</url-pattern> <url-pattern>*.JSPX</url-pattern> <url-pattern>*.XSP</url-pattern> </servlet-mapping> <!-- ==================================================================== --> <!-- Dynamic Servlet Invoker. --> <!-- This servlet invokes anonymous servlets that have not been defined --> <!-- in the web.xml or by other means. The first element of the pathInfo --> <!-- of a request passed to the envoker is treated as a servlet name for --> <!-- an existing servlet, or as a class name of a new servlet. --> <!-- This servlet is normally mapped to /servlet/* --> <!-- This servlet support the following initParams: --> <!-- --> <!-- nonContextServlets If false, the invoker can only load --> <!-- servlets from the contexts classloader. --> <!-- This is false by default and setting this --> <!-- to true may have security implications. --> <!-- --> <!-- verbose If true, log dynamic loads --> <!-- --> <!-- * All other parameters are copied to the --> <!-- each dynamic servlet as init parameters --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <!-- Uncomment for dynamic invocation <servlet> <servlet-name>invoker</servlet-name> <servlet-class>org.mortbay.jetty.servlet.Invoker</servlet-class> <init-param> <param-name>verbose</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>nonContextServlets</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>dynamicParam</param-name> <param-value>anyValue</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> --> <!-- ==================================================================== --> <session-config> <session-timeout>30</session-timeout> </session-config> <!-- ==================================================================== --> <!-- Default MIME mappings --> <!-- The default MIME mappings are provided by the mime.properties --> <!-- resource in the org.mortbay.jetty.jar file. Additional or modified --> <!-- mappings may be specified here --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <!-- UNCOMMENT TO ACTIVATE <mime-mapping> <extension>mysuffix</extension> <mime-type>mymime/type</mime-type> </mime-mapping> --> <!-- ==================================================================== --> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- ==================================================================== --> <locale-encoding-mapping-list> <locale-encoding-mapping><locale>ar</locale><encoding>ISO-8859-6</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>be</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>bg</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>ca</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>cs</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>da</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>de</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>el</locale><encoding>ISO-8859-7</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>en</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>es</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>et</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>fi</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>fr</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>hr</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>hu</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>is</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>it</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>iw</locale><encoding>ISO-8859-8</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>ja</locale><encoding>Shift_JIS</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>ko</locale><encoding>EUC-KR</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>lt</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>lv</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>mk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>nl</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>no</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>pl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>pt</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>ro</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>ru</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>sh</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>sk</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>sl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>sq</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>sr</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>sv</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>tr</locale><encoding>ISO-8859-9</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>uk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>zh</locale><encoding>GB2312</encoding></locale-encoding-mapping> <locale-encoding-mapping><locale>zh_TW</locale><encoding>Big5</encoding></locale-encoding-mapping> </locale-encoding-mapping-list> <security-constraint> <web-resource-collection> <web-resource-name>Disable TRACE</web-resource-name> <url-pattern>/</url-pattern> <http-method>TRACE</http-method> </web-resource-collection> <auth-constraint/> </security-constraint> </web-app>
评论
2 楼
xiao_wgs69
2015-12-14
hehefan 写道
你好,为什么我使用jetty:run启动maven项目的时候会出现Could not open ServletContext resource [/WEB-INF/applicationContext.xml]这个报错呢,我的编译到target/calsses下面的,这个是默认的!这可怎么弄呢
一样报这样的错
1 楼
hehefan
2015-07-18
你好,为什么我使用jetty:run启动maven项目的时候会出现Could not open ServletContext resource [/WEB-INF/applicationContext.xml]这个报错呢,我的编译到target/calsses下面的,这个是默认的!这可怎么弄呢
相关推荐
要在Maven项目中使用`maven-jetty-plugin`,首先需要在项目的`pom.xml`文件中添加插件的配置。例如: ```xml ... <plugin> <groupId>org.mortbay.jetty <artifactId>maven-jetty-plugin <version>6.1....
可以通过修改POM.xml文件中的插件配置来调整Jetty的行为,如设置端口、启用或禁用特定的Jetty模块等。 4. **与Maven生命周期集成**:Maven Jetty Plugin提供了多个目标(goals),例如`jetty:run`用于启动服务器,`...
maven-jetty6-plugin-1.0.jar
maven-jetty-jspc-plugin-6.1.25-sources.jar
maven-jetty-jspc-plugin-6.1.9.jar
maven-jetty-plugin-6.1.3.jar
maven-jetty-plugin-6.1.7.jar
maven-jetty-plugin-6.1.26-sources.jar
maven-jetty-jspc-plugin-6.1.22-site-component.jar
maven-jetty-jspc-plugin-6.1.4.jar
maven-jetty-plugin-6.1.26.jar
maven-jetty-plugin-6.1.25-sources.jar
maven-jetty6-plugin-6.0.0beta17-sources.jar
maven-jetty6-plugin-6.0.0beta15-sources.jar
maven-jetty6-plugin-6.0.0beta14-sources.jar
maven-jetty6-plugin-6.0.0beta12-sources.jar
maven-jetty6-plugin-6.0.0beta10-sources.jar
maven-jetty6-plugin-6.0.0beta8-sources.jar
maven-jetty6-plugin-6.0.0beta7-sources.jar
maven-jetty6-plugin-6.0.0beta6-sources.jar