Skip to content

Commit 6c6b799

Browse files
committed
fix scanning of ServletContainerInitializer by tomcat > 7.0.5x in "run" goal
1 parent 1fca8b0 commit 6c6b799

File tree

2 files changed

+41
-1
lines changed

2 files changed

+41
-1
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package org.apache.tomcat.maven.plugin.tomcat7.run;
2+
/*
3+
* Licensed to the Apache Software Foundation (ASF) under one
4+
* or more contributor license agreements. See the NOTICE file
5+
* distributed with this work for additional information
6+
* regarding copyright ownership. The ASF licenses this file
7+
* to you under the Apache License, Version 2.0 (the
8+
* "License"); you may not use this file except in compliance
9+
* with the License. You may obtain a copy of the License at
10+
*
11+
* http://www.apache.org/licenses/LICENSE-2.0
12+
*
13+
* Unless required by applicable law or agreed to in writing,
14+
* software distributed under the License is distributed on an
15+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16+
* KIND, either express or implied. See the License for the
17+
* specific language governing permissions and limitations
18+
* under the License.
19+
*/
20+
21+
import org.apache.catalina.startup.ContextConfig;
22+
23+
import javax.servlet.ServletContext;
24+
import java.util.List;
25+
26+
/**
27+
* Created by benoitmeriaux on 29/08/2015.
28+
*/
29+
public class CustomRunContextConfig extends ContextConfig {
30+
31+
/*In order to have the ServletContainerInitializer scanned using the classpath and not using resources path,
32+
we need to clear the ORDERED_LIBS attribtues of the ServletContext before the scan*/
33+
protected void processServletContainerInitializers(ServletContext servletContext) {
34+
List saveOrderedLib = (List) servletContext.getAttribute(ServletContext.ORDERED_LIBS);
35+
servletContext.setAttribute(ServletContext.ORDERED_LIBS, null);
36+
super.processServletContainerInitializers(servletContext);
37+
servletContext.setAttribute(ServletContext.ORDERED_LIBS, saveOrderedLib);
38+
}
39+
40+
}

tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/ExtendedTomcat.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public Context addWebapp( Host host, String url, String name, String path )
5050
ctx.setPath( url );
5151
ctx.setDocBase( path );
5252

53-
ContextConfig ctxCfg = new ContextConfig();
53+
ContextConfig ctxCfg = new CustomRunContextConfig();
5454
ctx.addLifecycleListener( ctxCfg );
5555

5656
ctxCfg.setDefaultWebXml( new File( configurationDir, "conf/web.xml" ).getAbsolutePath() );

0 commit comments

Comments
 (0)