got the same, no idea why - I am configured for unix eol. Just wanted to push a commit without logic change before pushing actual logic. Andy started a thread on infra about that, not yet sure the outcome to be honest.
Romain Manni-Bucau @rmannibucau | Blog | Github | LinkedIn | Tomitriber 2015-11-18 17:30 GMT-08:00 Daniel Cunha <[email protected]>: > I've the same problem here. > > On Wed, Nov 18, 2015 at 10:21 PM, Thiago Veronezi <[email protected]> > wrote: > >> Hey Romain, >> >> What is this commit about? Removing windows line endings? >> Now when I pull the source code, my local git says I have changed files >> that I never touched. Am I missing a config locally? >> >> []s, >> Thiago >> >> On Wed, Nov 18, 2015 at 3:18 PM, <[email protected]> wrote: >> >> > >> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/build.xml >> > ---------------------------------------------------------------------- >> > diff --git a/tomee/build.xml b/tomee/build.xml >> > index eff1327..c660e7c 100644 >> > --- a/tomee/build.xml >> > +++ b/tomee/build.xml >> > @@ -1,46 +1,46 @@ >> > -<?xml version="1.0" encoding="UTF-8"?> >> > -<!-- >> > - >> > - Licensed to the Apache Software Foundation (ASF) under one or more >> > - contributor license agreements. See the NOTICE file distributed >> with >> > - this work for additional information regarding copyright ownership. >> > - The ASF licenses this file to You under the Apache License, Version >> > 2.0 >> > - (the "License"); you may not use this file except in compliance with >> > - the License. You may obtain a copy of the License at >> > - >> > - http://www.apache.org/licenses/LICENSE-2.0 >> > - >> > - Unless required by applicable law or agreed to in writing, software >> > - distributed under the License is distributed on an "AS IS" BASIS, >> > - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > - See the License for the specific language governing permissions and >> > - limitations under the License. >> > ---> >> > -<project name="dev-helper" default="web"> >> > - >> > - <target name="web"> >> > - <copy verbose="true" >> > >> todir="apache-tomee/target/apache-tomee-webprofile-7.0.0-SNAPSHOT/webapps/tomee"> >> > - <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.js"/> >> > - <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.css"/> >> > - <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.html"/> >> > - </copy> >> > - </target> >> > - >> > - <target name="rs"> >> > - <copy verbose="true" >> > >> todir="apache-tomee/target/apache-tomee-jaxrs-7.0.0-SNAPSHOT/webapps/tomee"> >> > - <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.js"/> >> > - <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.css"/> >> > - <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.html"/> >> > - </copy> >> > - </target> >> > - >> > - <target name="plus"> >> > - <copy verbose="true" >> > >> todir="apache-tomee/target/apache-tomee-plus-7.0.0-SNAPSHOT/webapps/tomee"> >> > - <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.js"/> >> > - <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.css"/> >> > - <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.html"/> >> > - </copy> >> > - </target> >> > - >> > -</project> >> > - >> > +<?xml version="1.0" encoding="UTF-8"?> >> > +<!-- >> > + >> > + Licensed to the Apache Software Foundation (ASF) under one or more >> > + contributor license agreements. See the NOTICE file distributed >> with >> > + this work for additional information regarding copyright ownership. >> > + The ASF licenses this file to You under the Apache License, Version >> > 2.0 >> > + (the "License"); you may not use this file except in compliance with >> > + the License. You may obtain a copy of the License at >> > + >> > + http://www.apache.org/licenses/LICENSE-2.0 >> > + >> > + Unless required by applicable law or agreed to in writing, software >> > + distributed under the License is distributed on an "AS IS" BASIS, >> > + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > + See the License for the specific language governing permissions and >> > + limitations under the License. >> > +--> >> > +<project name="dev-helper" default="web"> >> > + >> > + <target name="web"> >> > + <copy verbose="true" >> > >> todir="apache-tomee/target/apache-tomee-webprofile-7.0.0-SNAPSHOT/webapps/tomee"> >> > + <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.js"/> >> > + <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.css"/> >> > + <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.html"/> >> > + </copy> >> > + </target> >> > + >> > + <target name="rs"> >> > + <copy verbose="true" >> > >> todir="apache-tomee/target/apache-tomee-jaxrs-7.0.0-SNAPSHOT/webapps/tomee"> >> > + <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.js"/> >> > + <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.css"/> >> > + <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.html"/> >> > + </copy> >> > + </target> >> > + >> > + <target name="plus"> >> > + <copy verbose="true" >> > >> todir="apache-tomee/target/apache-tomee-plus-7.0.0-SNAPSHOT/webapps/tomee"> >> > + <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.js"/> >> > + <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.css"/> >> > + <fileset dir="tomee-webapp/src/main/webapp" >> > includes="**/*.html"/> >> > + </copy> >> > + </target> >> > + >> > +</project> >> > + >> > >> > >> > >> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java >> > ---------------------------------------------------------------------- >> > diff --git >> > >> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java >> > >> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java >> > index 2ca6ac6..2208d91 100644 >> > --- >> > >> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java >> > +++ >> > >> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java >> > @@ -1,165 +1,165 @@ >> > -/* >> > - * Licensed to the Apache Software Foundation (ASF) under one or more >> > - * contributor license agreements. See the NOTICE file distributed with >> > - * this work for additional information regarding copyright ownership. >> > - * The ASF licenses this file to You under the Apache License, Version >> 2.0 >> > - * (the "License"); you may not use this file except in compliance with >> > - * the License. You may obtain a copy of the License at >> > - * >> > - * http://www.apache.org/licenses/LICENSE-2.0 >> > - * >> > - * Unless required by applicable law or agreed to in writing, software >> > - * distributed under the License is distributed on an "AS IS" BASIS, >> > - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > - * See the License for the specific language governing permissions and >> > - * limitations under the License. >> > - */ >> > -package org.apache.tomee.catalina; >> > - >> > -import org.apache.catalina.Container; >> > -import org.apache.catalina.Context; >> > -import org.apache.catalina.Globals; >> > -import org.apache.catalina.Host; >> > -import org.apache.catalina.core.StandardContext; >> > -import org.apache.catalina.core.StandardEngine; >> > -import org.apache.catalina.core.StandardHost; >> > -import org.apache.catalina.util.ContextName; >> > - >> > -import java.io.File; >> > -import java.io.IOException; >> > - >> > -public class Contexts { >> > - public static String getHostname(final StandardContext ctx) { >> > - String hostName = null; >> > - final Container parentHost = ctx.getParent(); >> > - if (parentHost != null) { >> > - hostName = parentHost.getName(); >> > - } >> > - if ((hostName == null) || (hostName.length() < 1)) { >> > - hostName = "_"; >> > - } >> > - return hostName; >> > - } >> > - >> > - public static File warPath(final Context standardContext) { >> > - final File file = realWarPath(standardContext); >> > - if (file == null) { >> > - return null; >> > - } >> > - >> > - final String name = file.getName(); >> > - if (!file.isDirectory() && name.endsWith(".war")) { >> > - final File extracted = new File(file.getParentFile(), >> > name.substring(0, name.length() - ".war".length())); >> > - if (extracted.exists()) { >> > - try { >> > - return extracted.getCanonicalFile(); >> > - } catch (final IOException e) { >> > - return extracted; >> > - } >> > - } >> > - } >> > - try { >> > - return file.getCanonicalFile(); >> > - } catch (final IOException e) { >> > - return file; >> > - } >> > - } >> > - >> > - public static File realWarPath(final Context standardContext) { >> > - if (standardContext == null) { >> > - return null; >> > - } >> > - >> > - final File docBase; >> > - Container container = standardContext; >> > - while (container != null) { >> > - if (container instanceof Host) { >> > - break; >> > - } >> > - container = container.getParent(); >> > - } >> > - >> > - String baseName = null; >> > - if (standardContext.getDocBase() != null) { >> > - File file = new File(standardContext.getDocBase()); >> > - if (!file.isAbsolute()) { >> > - if (container == null) { >> > - docBase = new File(engineBase(standardContext), >> > standardContext.getDocBase()); >> > - } else { >> > - final String appBase = ((Host) >> > container).getAppBase(); >> > - file = new File(appBase); >> > - if (!file.isAbsolute()) { >> > - file = new File(engineBase(standardContext), >> > appBase); >> > - } >> > - docBase = new File(file, >> > standardContext.getDocBase()); >> > - } >> > - } else { >> > - docBase = file; >> > - } >> > - } else { >> > - final String path = standardContext.getPath(); >> > - if (path == null) { >> > - throw new IllegalStateException("Can't find docBase"); >> > - } else { >> > - baseName = new ContextName(path, >> > standardContext.getWebappVersion()).getBaseName(); >> > - docBase = new File(baseName); >> > - } >> > - } >> > - >> > - if (!docBase.exists() && baseName != null) { // for old >> > compatibility, will be removed soon >> > - if (Host.class.isInstance(container)) { >> > - final File file = new >> > File(Host.class.cast(container).getAppBaseFile(), baseName); >> > - if (file.exists()) { >> > - return file; >> > - } >> > - } >> > - return oldRealWarPath(standardContext); >> > - } >> > - >> > - final String name = docBase.getName(); >> > - if (name.endsWith(".war")) { >> > - final File extracted = new File(docBase.getParentFile(), >> > name.substring(0, name.length() - ".war".length())); >> > - if (extracted.exists()) { >> > - return extracted; >> > - } >> > - } >> > - >> > - return docBase; >> > - } >> > - >> > - private static File engineBase(final Context standardContext) { >> > - final String base = >> > System.getProperty(Globals.CATALINA_BASE_PROP); >> > - if( base == null ) { >> > - final StandardEngine eng = (StandardEngine) >> > standardContext.getParent().getParent(); >> > - return eng.getCatalinaBase(); >> > - } >> > - return new File(base); >> > - } >> > - >> > - @Deprecated >> > - private static File oldRealWarPath(final Context standardContext) { >> > - String doc = standardContext.getDocBase(); >> > - // handle ROOT case >> > - if (doc == null || doc.length() == 0) { >> > - doc = "ROOT"; >> > - } >> > - >> > - File war = new File(doc); >> > - if (war.exists()) { >> > - return war; >> > - } >> > - >> > - final StandardHost host = (StandardHost) >> > standardContext.getParent(); >> > - final String base = host.getAppBase(); >> > - war = new File(base, doc); >> > - if (war.exists()) { >> > - return war; >> > - } >> > - >> > - war = new File(new File(System.getProperty("catalina.home"), >> > base), doc); >> > - if (war.exists()) { >> > - return war; >> > - } >> > - return new File(new File(System.getProperty("catalina.base"), >> > base), doc); // shouldn't occur >> > - } >> > -} >> > +/* >> > + * Licensed to the Apache Software Foundation (ASF) under one or more >> > + * contributor license agreements. See the NOTICE file distributed with >> > + * this work for additional information regarding copyright ownership. >> > + * The ASF licenses this file to You under the Apache License, Version >> 2.0 >> > + * (the "License"); you may not use this file except in compliance with >> > + * the License. You may obtain a copy of the License at >> > + * >> > + * http://www.apache.org/licenses/LICENSE-2.0 >> > + * >> > + * Unless required by applicable law or agreed to in writing, software >> > + * distributed under the License is distributed on an "AS IS" BASIS, >> > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > + * See the License for the specific language governing permissions and >> > + * limitations under the License. >> > + */ >> > +package org.apache.tomee.catalina; >> > + >> > +import org.apache.catalina.Container; >> > +import org.apache.catalina.Context; >> > +import org.apache.catalina.Globals; >> > +import org.apache.catalina.Host; >> > +import org.apache.catalina.core.StandardContext; >> > +import org.apache.catalina.core.StandardEngine; >> > +import org.apache.catalina.core.StandardHost; >> > +import org.apache.catalina.util.ContextName; >> > + >> > +import java.io.File; >> > +import java.io.IOException; >> > + >> > +public class Contexts { >> > + public static String getHostname(final StandardContext ctx) { >> > + String hostName = null; >> > + final Container parentHost = ctx.getParent(); >> > + if (parentHost != null) { >> > + hostName = parentHost.getName(); >> > + } >> > + if ((hostName == null) || (hostName.length() < 1)) { >> > + hostName = "_"; >> > + } >> > + return hostName; >> > + } >> > + >> > + public static File warPath(final Context standardContext) { >> > + final File file = realWarPath(standardContext); >> > + if (file == null) { >> > + return null; >> > + } >> > + >> > + final String name = file.getName(); >> > + if (!file.isDirectory() && name.endsWith(".war")) { >> > + final File extracted = new File(file.getParentFile(), >> > name.substring(0, name.length() - ".war".length())); >> > + if (extracted.exists()) { >> > + try { >> > + return extracted.getCanonicalFile(); >> > + } catch (final IOException e) { >> > + return extracted; >> > + } >> > + } >> > + } >> > + try { >> > + return file.getCanonicalFile(); >> > + } catch (final IOException e) { >> > + return file; >> > + } >> > + } >> > + >> > + public static File realWarPath(final Context standardContext) { >> > + if (standardContext == null) { >> > + return null; >> > + } >> > + >> > + final File docBase; >> > + Container container = standardContext; >> > + while (container != null) { >> > + if (container instanceof Host) { >> > + break; >> > + } >> > + container = container.getParent(); >> > + } >> > + >> > + String baseName = null; >> > + if (standardContext.getDocBase() != null) { >> > + File file = new File(standardContext.getDocBase()); >> > + if (!file.isAbsolute()) { >> > + if (container == null) { >> > + docBase = new File(engineBase(standardContext), >> > standardContext.getDocBase()); >> > + } else { >> > + final String appBase = ((Host) >> > container).getAppBase(); >> > + file = new File(appBase); >> > + if (!file.isAbsolute()) { >> > + file = new File(engineBase(standardContext), >> > appBase); >> > + } >> > + docBase = new File(file, >> > standardContext.getDocBase()); >> > + } >> > + } else { >> > + docBase = file; >> > + } >> > + } else { >> > + final String path = standardContext.getPath(); >> > + if (path == null) { >> > + throw new IllegalStateException("Can't find docBase"); >> > + } else { >> > + baseName = new ContextName(path, >> > standardContext.getWebappVersion()).getBaseName(); >> > + docBase = new File(baseName); >> > + } >> > + } >> > + >> > + if (!docBase.exists() && baseName != null) { // for old >> > compatibility, will be removed soon >> > + if (Host.class.isInstance(container)) { >> > + final File file = new >> > File(Host.class.cast(container).getAppBaseFile(), baseName); >> > + if (file.exists()) { >> > + return file; >> > + } >> > + } >> > + return oldRealWarPath(standardContext); >> > + } >> > + >> > + final String name = docBase.getName(); >> > + if (name.endsWith(".war")) { >> > + final File extracted = new File(docBase.getParentFile(), >> > name.substring(0, name.length() - ".war".length())); >> > + if (extracted.exists()) { >> > + return extracted; >> > + } >> > + } >> > + >> > + return docBase; >> > + } >> > + >> > + private static File engineBase(final Context standardContext) { >> > + final String base = >> > System.getProperty(Globals.CATALINA_BASE_PROP); >> > + if( base == null ) { >> > + final StandardEngine eng = (StandardEngine) >> > standardContext.getParent().getParent(); >> > + return eng.getCatalinaBase(); >> > + } >> > + return new File(base); >> > + } >> > + >> > + @Deprecated >> > + private static File oldRealWarPath(final Context standardContext) { >> > + String doc = standardContext.getDocBase(); >> > + // handle ROOT case >> > + if (doc == null || doc.length() == 0) { >> > + doc = "ROOT"; >> > + } >> > + >> > + File war = new File(doc); >> > + if (war.exists()) { >> > + return war; >> > + } >> > + >> > + final StandardHost host = (StandardHost) >> > standardContext.getParent(); >> > + final String base = host.getAppBase(); >> > + war = new File(base, doc); >> > + if (war.exists()) { >> > + return war; >> > + } >> > + >> > + war = new File(new File(System.getProperty("catalina.home"), >> > base), doc); >> > + if (war.exists()) { >> > + return war; >> > + } >> > + return new File(new File(System.getProperty("catalina.base"), >> > base), doc); // shouldn't occur >> > + } >> > +} >> > >> > >> > >> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java >> > ---------------------------------------------------------------------- >> > diff --git >> > >> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java >> > >> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java >> > index eee2d2a..2308db0 100644 >> > --- >> > >> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java >> > +++ >> > >> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java >> > @@ -1,121 +1,121 @@ >> > -/* >> > - * Licensed to the Apache Software Foundation (ASF) under one or more >> > - * contributor license agreements. See the NOTICE file distributed with >> > - * this work for additional information regarding copyright ownership. >> > - * The ASF licenses this file to You under the Apache License, Version >> 2.0 >> > - * (the "License"); you may not use this file except in compliance with >> > - * the License. You may obtain a copy of the License at >> > - * >> > - * http://www.apache.org/licenses/LICENSE-2.0 >> > - * >> > - * Unless required by applicable law or agreed to in writing, software >> > - * distributed under the License is distributed on an "AS IS" BASIS, >> > - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > - * See the License for the specific language governing permissions and >> > - * limitations under the License. >> > - */ >> > -package org.apache.tomee.catalina; >> > - >> > -import org.apache.catalina.Context; >> > -import org.apache.catalina.LifecycleException; >> > -import org.apache.catalina.loader.WebappLoader; >> > -import org.apache.openejb.ClassLoaderUtil; >> > -import org.apache.openejb.classloader.ClassLoaderConfigurer; >> > -import org.apache.openejb.classloader.CompositeClassLoaderConfigurer; >> > -import org.apache.openejb.config.QuickJarsTxtParser; >> > -import org.apache.openejb.loader.SystemInstance; >> > - >> > -import java.io.File; >> > - >> > -/** >> > - * Usage example in META-INF/context.xml >> > - * <p/> >> > - * <p/> >> > - * <Context antiJARLocking="true" > >> > - * <Loader >> > - * className="org.apache.tomee.catalina.ProvisioningWebappLoader" >> > - * searchExternalFirst="true" >> > - * >> > >> virtualClasspath="mvn:commons-el:commons-el:1.0;mvn:commons-el:commons-el:1.0" >> > - * searchVirtualFirst="true" >> > - * /> >> > - * </Context> >> > - */ >> > -public class TomEEWebappLoader extends WebappLoader { >> > - public static final boolean SKIP_BACKGROUND_PROCESS = >> > >> "true".equals(SystemInstance.get().getProperty("tomee.classloader.skip-background-process", >> > "false")); >> > - >> > - private volatile ClassLoader loader; >> > - >> > - @Override >> > - public void backgroundProcess() { >> > - if (SKIP_BACKGROUND_PROCESS) { >> > - return; >> > - } >> > - >> > - final ClassLoader classloader = super.getClassLoader(); >> > - if (classloader instanceof TomEEWebappClassLoader) { >> > - final TomEEWebappClassLoader tomEEWebappClassLoader = >> > (TomEEWebappClassLoader) classloader; >> > - tomEEWebappClassLoader.restarting(); >> > - try { >> > - super.backgroundProcess(); >> > - } finally { >> > - tomEEWebappClassLoader.restarted(); >> > - } >> > - } else { >> > - super.backgroundProcess(); >> > - } >> > - } >> > - >> > - @Override >> > - public boolean modified() { >> > - return !SKIP_BACKGROUND_PROCESS && super.modified(); >> > - } >> > - >> > - @Override >> > - protected void stopInternal() throws LifecycleException { >> > - loader = getClassLoader(); >> > - super.stopInternal(); >> > - } >> > - >> > - public void clearLoader() { >> > - loader = null; >> > - } >> > - >> > - public ClassLoader internalLoader() { >> > - return loader; >> > - } >> > - >> > - @Override >> > - protected void startInternal() throws LifecycleException { >> > - if (getClassLoader() != null) { >> > - final TomEEWebappClassLoader webappClassLoader = >> > TomEEWebappClassLoader.class.cast(getClassLoader()); >> > - if (webappClassLoader.isStopped()) { >> > - webappClassLoader.internalStop(); >> > - } >> > - } >> > - >> > - final Context context = getContext(); >> > - >> > - ClassLoaderConfigurer configurer = >> > ClassLoaderUtil.configurer(context.getName()); >> > - >> > - // WEB-INF/jars.xml >> > - final File war = Contexts.warPath(Context.class.cast(context)); >> > - final File jarsXml = new File(war, "WEB-INF/" + >> > QuickJarsTxtParser.FILE_NAME); >> > - final ClassLoaderConfigurer configurerTxt = >> > QuickJarsTxtParser.parse(jarsXml); >> > - if (configurerTxt != null) { >> > - configurer = new CompositeClassLoaderConfigurer(configurer, >> > configurerTxt); >> > - } >> > - >> > - TomEEWebappClassLoader.initContext(configurer); >> > - TomEEWebappClassLoader.initContext(context); >> > - try { >> > - super.startInternal(); >> > - } finally { >> > - TomEEWebappClassLoader.cleanContext(); >> > - } >> > - } >> > - >> > - @Override >> > - public String toString() { >> > - return "TomEE" + super.toString(); >> > - } >> > -} >> > +/* >> > + * Licensed to the Apache Software Foundation (ASF) under one or more >> > + * contributor license agreements. See the NOTICE file distributed with >> > + * this work for additional information regarding copyright ownership. >> > + * The ASF licenses this file to You under the Apache License, Version >> 2.0 >> > + * (the "License"); you may not use this file except in compliance with >> > + * the License. You may obtain a copy of the License at >> > + * >> > + * http://www.apache.org/licenses/LICENSE-2.0 >> > + * >> > + * Unless required by applicable law or agreed to in writing, software >> > + * distributed under the License is distributed on an "AS IS" BASIS, >> > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > + * See the License for the specific language governing permissions and >> > + * limitations under the License. >> > + */ >> > +package org.apache.tomee.catalina; >> > + >> > +import org.apache.catalina.Context; >> > +import org.apache.catalina.LifecycleException; >> > +import org.apache.catalina.loader.WebappLoader; >> > +import org.apache.openejb.ClassLoaderUtil; >> > +import org.apache.openejb.classloader.ClassLoaderConfigurer; >> > +import org.apache.openejb.classloader.CompositeClassLoaderConfigurer; >> > +import org.apache.openejb.config.QuickJarsTxtParser; >> > +import org.apache.openejb.loader.SystemInstance; >> > + >> > +import java.io.File; >> > + >> > +/** >> > + * Usage example in META-INF/context.xml >> > + * <p/> >> > + * <p/> >> > + * <Context antiJARLocking="true" > >> > + * <Loader >> > + * className="org.apache.tomee.catalina.ProvisioningWebappLoader" >> > + * searchExternalFirst="true" >> > + * >> > >> virtualClasspath="mvn:commons-el:commons-el:1.0;mvn:commons-el:commons-el:1.0" >> > + * searchVirtualFirst="true" >> > + * /> >> > + * </Context> >> > + */ >> > +public class TomEEWebappLoader extends WebappLoader { >> > + public static final boolean SKIP_BACKGROUND_PROCESS = >> > >> "true".equals(SystemInstance.get().getProperty("tomee.classloader.skip-background-process", >> > "false")); >> > + >> > + private volatile ClassLoader loader; >> > + >> > + @Override >> > + public void backgroundProcess() { >> > + if (SKIP_BACKGROUND_PROCESS) { >> > + return; >> > + } >> > + >> > + final ClassLoader classloader = super.getClassLoader(); >> > + if (classloader instanceof TomEEWebappClassLoader) { >> > + final TomEEWebappClassLoader tomEEWebappClassLoader = >> > (TomEEWebappClassLoader) classloader; >> > + tomEEWebappClassLoader.restarting(); >> > + try { >> > + super.backgroundProcess(); >> > + } finally { >> > + tomEEWebappClassLoader.restarted(); >> > + } >> > + } else { >> > + super.backgroundProcess(); >> > + } >> > + } >> > + >> > + @Override >> > + public boolean modified() { >> > + return !SKIP_BACKGROUND_PROCESS && super.modified(); >> > + } >> > + >> > + @Override >> > + protected void stopInternal() throws LifecycleException { >> > + loader = getClassLoader(); >> > + super.stopInternal(); >> > + } >> > + >> > + public void clearLoader() { >> > + loader = null; >> > + } >> > + >> > + public ClassLoader internalLoader() { >> > + return loader; >> > + } >> > + >> > + @Override >> > + protected void startInternal() throws LifecycleException { >> > + if (getClassLoader() != null) { >> > + final TomEEWebappClassLoader webappClassLoader = >> > TomEEWebappClassLoader.class.cast(getClassLoader()); >> > + if (webappClassLoader.isStopped()) { >> > + webappClassLoader.internalStop(); >> > + } >> > + } >> > + >> > + final Context context = getContext(); >> > + >> > + ClassLoaderConfigurer configurer = >> > ClassLoaderUtil.configurer(context.getName()); >> > + >> > + // WEB-INF/jars.xml >> > + final File war = Contexts.warPath(Context.class.cast(context)); >> > + final File jarsXml = new File(war, "WEB-INF/" + >> > QuickJarsTxtParser.FILE_NAME); >> > + final ClassLoaderConfigurer configurerTxt = >> > QuickJarsTxtParser.parse(jarsXml); >> > + if (configurerTxt != null) { >> > + configurer = new CompositeClassLoaderConfigurer(configurer, >> > configurerTxt); >> > + } >> > + >> > + TomEEWebappClassLoader.initContext(configurer); >> > + TomEEWebappClassLoader.initContext(context); >> > + try { >> > + super.startInternal(); >> > + } finally { >> > + TomEEWebappClassLoader.cleanContext(); >> > + } >> > + } >> > + >> > + @Override >> > + public String toString() { >> > + return "TomEE" + super.toString(); >> > + } >> > +} >> > >> > >> > >> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java >> > ---------------------------------------------------------------------- >> > diff --git >> > >> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java >> > >> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java >> > index 03fea68..4496e54 100644 >> > --- >> > >> a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java >> > +++ >> > >> b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatDeploymentLoader.java >> > @@ -1,43 +1,43 @@ >> > -/* >> > - * Licensed to the Apache Software Foundation (ASF) under one or more >> > - * contributor license agreements. See the NOTICE file distributed with >> > - * this work for additional information regarding copyright ownership. >> > - * The ASF licenses this file to You under the Apache License, Version >> 2.0 >> > - * (the "License"); you may not use this file except in compliance with >> > - * the License. You may obtain a copy of the License at >> > - * >> > - * http://www.apache.org/licenses/LICENSE-2.0 >> > - * >> > - * Unless required by applicable law or agreed to in writing, software >> > - * distributed under the License is distributed on an "AS IS" BASIS, >> > - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > - * See the License for the specific language governing permissions and >> > - * limitations under the License. >> > - */ >> > -package org.apache.tomee.catalina; >> > - >> > -import org.apache.catalina.core.StandardContext; >> > -import org.apache.openejb.config.DeploymentLoader; >> > - >> > -/** >> > - * @version $Id$ >> > - */ >> > -public class TomcatDeploymentLoader extends DeploymentLoader { >> > - private StandardContext standardContext; >> > - private String moduleId; >> > - >> > - public TomcatDeploymentLoader(final StandardContext standardContext, >> > final String moduleId) { >> > - this.standardContext = standardContext; >> > - this.moduleId = moduleId; >> > - } >> > - >> > - @Override >> > - protected String getContextRoot() { >> > - return standardContext.getPath(); >> > - } >> > - >> > - @Override >> > - protected String getModuleName() { >> > - return moduleId; >> > - } >> > -} >> > +/* >> > + * Licensed to the Apache Software Foundation (ASF) under one or more >> > + * contributor license agreements. See the NOTICE file distributed with >> > + * this work for additional information regarding copyright ownership. >> > + * The ASF licenses this file to You under the Apache License, Version >> 2.0 >> > + * (the "License"); you may not use this file except in compliance with >> > + * the License. You may obtain a copy of the License at >> > + * >> > + * http://www.apache.org/licenses/LICENSE-2.0 >> > + * >> > + * Unless required by applicable law or agreed to in writing, software >> > + * distributed under the License is distributed on an "AS IS" BASIS, >> > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > + * See the License for the specific language governing permissions and >> > + * limitations under the License. >> > + */ >> > +package org.apache.tomee.catalina; >> > + >> > +import org.apache.catalina.core.StandardContext; >> > +import org.apache.openejb.config.DeploymentLoader; >> > + >> > +/** >> > + * @version $Id$ >> > + */ >> > +public class TomcatDeploymentLoader extends DeploymentLoader { >> > + private StandardContext standardContext; >> > + private String moduleId; >> > + >> > + public TomcatDeploymentLoader(final StandardContext standardContext, >> > final String moduleId) { >> > + this.standardContext = standardContext; >> > + this.moduleId = moduleId; >> > + } >> > + >> > + @Override >> > + protected String getContextRoot() { >> > + return standardContext.getPath(); >> > + } >> > + >> > + @Override >> > + protected String getModuleName() { >> > + return moduleId; >> > + } >> > +} >> > >> > >> > >> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java >> > ---------------------------------------------------------------------- >> > diff --git >> > a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java >> > b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java >> > index 1720f9f..a2c8d06 100644 >> > --- >> > a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java >> > +++ >> > b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java >> > @@ -1,134 +1,134 @@ >> > -/** >> > - * Licensed to the Apache Software Foundation (ASF) under one or more >> > - * contributor license agreements. See the NOTICE file distributed with >> > - * this work for additional information regarding copyright ownership. >> > - * The ASF licenses this file to You under the Apache License, Version >> 2.0 >> > - * (the "License"); you may not use this file except in compliance with >> > - * the License. You may obtain a copy of the License at >> > - * >> > - * http://www.apache.org/licenses/LICENSE-2.0 >> > - * >> > - * Unless required by applicable law or agreed to in writing, software >> > - * distributed under the License is distributed on an "AS IS" BASIS, >> > - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > - * See the License for the specific language governing permissions and >> > - * limitations under the License. >> > - */ >> > -package org.apache.tomee.embedded; >> > - >> > -import java.io.File; >> > -import java.util.Set; >> > - >> > -import org.apache.commons.cli.CommandLine; >> > -import org.apache.commons.cli.CommandLineParser; >> > -import org.apache.commons.cli.HelpFormatter; >> > -import org.apache.commons.cli.Options; >> > -import org.apache.commons.cli.ParseException; >> > -import org.apache.commons.cli.PosixParser; >> > -import org.apache.openejb.loader.ProvisioningUtil; >> > - >> > -import static org.apache.openejb.loader.JarLocation.jarLocation; >> > - >> > -public class Main { >> > - public static final String PORT = "port"; >> > - public static final String SHUTDOWN = "shutdown"; >> > - public static final String PATH = "path"; >> > - public static final String CONTEXT = "context"; >> > - public static final String DIRECTORY = "directory"; >> > - public static final String DOC_BASE = "doc-base"; >> > - public static final String AS_WAR = "as-war"; >> > - >> > - public static void main(final String[] args) { >> > - final CommandLineParser parser = new PosixParser(); >> > - final Options options = createOptions(); >> > - >> > - // parse command line >> > - final CommandLine line; >> > - try { >> > - line = parser.parse(options, args, true); >> > - } catch (final ParseException exp) { >> > - new HelpFormatter().printHelp("java -jar >> > tomee-embedded-user.jar", options); >> > - return; >> > - } >> > - >> > - // run TomEE >> > - try { >> > - final Container container = new >> > Container(createConfiguration(line)); >> > - final String[] contexts; >> > - if (line.hasOption(CONTEXT)) { >> > - contexts = line.getOptionValues(CONTEXT); >> > - } else { >> > - contexts = null; >> > - } >> > - >> > - boolean autoWar = true; >> > - int i = 0; >> > - if (line.hasOption(PATH)) { >> > - for (final String path : line.getOptionValues(PATH)) { >> > - final Set<String> locations = >> > ProvisioningUtil.realLocation(path); >> > - for (final String location : locations) { >> > - final File file = new File(location); >> > - if (!file.exists()) { >> > - System.err.println(file.getAbsolutePath() + >> " >> > does not exist, skipping"); >> > - continue; >> > - } >> > - >> > - String name = >> > file.getName().replaceAll("\\.[A-Za-z]+$", ""); >> > - if (contexts != null) { >> > - name = contexts[i++]; >> > - } >> > - container.deploy(name, file, true); >> > - } >> > - } >> > - autoWar = false; >> > - } >> > - if (line.hasOption(AS_WAR)) { >> > - container.deployClasspathAsWebApp(contexts == null || i >> > == contexts.length ? "" : contexts[i], >> > - line.hasOption(DOC_BASE) ? new >> > File(line.getOptionValue(DOC_BASE)) : null); >> > - autoWar = false; >> > - } >> > - if (autoWar) { // nothing deployed check if we are a war and >> > deploy ourself then >> > - final File me = jarLocation(Main.class); >> > - if (me.getName().endsWith(".war")) { >> > - container.deploy(contexts == null || i == >> > contexts.length ? "" : contexts[i], me); >> > - } >> > - } >> > - >> > - Runtime.getRuntime().addShutdownHook(new Thread() { >> > - @Override >> > - public void run() { >> > - try { >> > - container.stop(); >> > - } catch (final Exception e) { >> > - e.printStackTrace(); // just log the exception >> > - } >> > - } >> > - }); >> > - container.await(); >> > - } catch (final Exception e) { >> > - e.printStackTrace(); >> > - } >> > - } >> > - >> > - private static Options createOptions() { >> > - final Options options = new Options(); >> > - options.addOption(null, PATH, true, ""); >> > - options.addOption(null, CONTEXT, true, "Context name for >> > applications (same order than paths)"); >> > - options.addOption("p", PORT, true, "TomEE http port"); >> > - options.addOption("s", SHUTDOWN, true, "TomEE shutdown port"); >> > - options.addOption("d", DIRECTORY, true, "TomEE directory"); >> > - options.addOption("c", AS_WAR, false, "deploy classpath as >> war"); >> > - options.addOption("b", DOC_BASE, true, "when deploy classpath as >> > war, the doc base"); >> > - return options; >> > - } >> > - >> > - private static Configuration createConfiguration(final CommandLine >> > args) { >> > - final Configuration config = new Configuration(); >> > - config.setDir(System.getProperty("java.io.tmpdir")); >> > - config.setHttpPort(Integer.parseInt(args.getOptionValue(PORT, >> > "8080"))); >> > - >> config.setStopPort(Integer.parseInt(args.getOptionValue(SHUTDOWN, >> > "8005"))); >> > - config.setDir(args.getOptionValue(DIRECTORY, new File(new >> > File("."), "apache-tomee").getAbsolutePath())); >> > - return config; >> > - } >> > - >> > -} >> > +/** >> > + * Licensed to the Apache Software Foundation (ASF) under one or more >> > + * contributor license agreements. See the NOTICE file distributed with >> > + * this work for additional information regarding copyright ownership. >> > + * The ASF licenses this file to You under the Apache License, Version >> 2.0 >> > + * (the "License"); you may not use this file except in compliance with >> > + * the License. You may obtain a copy of the License at >> > + * >> > + * http://www.apache.org/licenses/LICENSE-2.0 >> > + * >> > + * Unless required by applicable law or agreed to in writing, software >> > + * distributed under the License is distributed on an "AS IS" BASIS, >> > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > + * See the License for the specific language governing permissions and >> > + * limitations under the License. >> > + */ >> > +package org.apache.tomee.embedded; >> > + >> > +import java.io.File; >> > +import java.util.Set; >> > + >> > +import org.apache.commons.cli.CommandLine; >> > +import org.apache.commons.cli.CommandLineParser; >> > +import org.apache.commons.cli.HelpFormatter; >> > +import org.apache.commons.cli.Options; >> > +import org.apache.commons.cli.ParseException; >> > +import org.apache.commons.cli.PosixParser; >> > +import org.apache.openejb.loader.ProvisioningUtil; >> > + >> > +import static org.apache.openejb.loader.JarLocation.jarLocation; >> > + >> > +public class Main { >> > + public static final String PORT = "port"; >> > + public static final String SHUTDOWN = "shutdown"; >> > + public static final String PATH = "path"; >> > + public static final String CONTEXT = "context"; >> > + public static final String DIRECTORY = "directory"; >> > + public static final String DOC_BASE = "doc-base"; >> > + public static final String AS_WAR = "as-war"; >> > + >> > + public static void main(final String[] args) { >> > + final CommandLineParser parser = new PosixParser(); >> > + final Options options = createOptions(); >> > + >> > + // parse command line >> > + final CommandLine line; >> > + try { >> > + line = parser.parse(options, args, true); >> > + } catch (final ParseException exp) { >> > + new HelpFormatter().printHelp("java -jar >> > tomee-embedded-user.jar", options); >> > + return; >> > + } >> > + >> > + // run TomEE >> > + try { >> > + final Container container = new >> > Container(createConfiguration(line)); >> > + final String[] contexts; >> > + if (line.hasOption(CONTEXT)) { >> > + contexts = line.getOptionValues(CONTEXT); >> > + } else { >> > + contexts = null; >> > + } >> > + >> > + boolean autoWar = true; >> > + int i = 0; >> > + if (line.hasOption(PATH)) { >> > + for (final String path : line.getOptionValues(PATH)) { >> > + final Set<String> locations = >> > ProvisioningUtil.realLocation(path); >> > + for (final String location : locations) { >> > + final File file = new File(location); >> > + if (!file.exists()) { >> > + System.err.println(file.getAbsolutePath() + >> " >> > does not exist, skipping"); >> > + continue; >> > + } >> > + >> > + String name = >> > file.getName().replaceAll("\\.[A-Za-z]+$", ""); >> > + if (contexts != null) { >> > + name = contexts[i++]; >> > + } >> > + container.deploy(name, file, true); >> > + } >> > + } >> > + autoWar = false; >> > + } >> > + if (line.hasOption(AS_WAR)) { >> > + container.deployClasspathAsWebApp(contexts == null || i >> > == contexts.length ? "" : contexts[i], >> > + line.hasOption(DOC_BASE) ? new >> > File(line.getOptionValue(DOC_BASE)) : null); >> > + autoWar = false; >> > + } >> > + if (autoWar) { // nothing deployed check if we are a war and >> > deploy ourself then >> > + final File me = jarLocation(Main.class); >> > + if (me.getName().endsWith(".war")) { >> > + container.deploy(contexts == null || i == >> > contexts.length ? "" : contexts[i], me); >> > + } >> > + } >> > + >> > + Runtime.getRuntime().addShutdownHook(new Thread() { >> > + @Override >> > + public void run() { >> > + try { >> > + container.stop(); >> > + } catch (final Exception e) { >> > + e.printStackTrace(); // just log the exception >> > + } >> > + } >> > + }); >> > + container.await(); >> > + } catch (final Exception e) { >> > + e.printStackTrace(); >> > + } >> > + } >> > + >> > + private static Options createOptions() { >> > + final Options options = new Options(); >> > + options.addOption(null, PATH, true, ""); >> > + options.addOption(null, CONTEXT, true, "Context name for >> > applications (same order than paths)"); >> > + options.addOption("p", PORT, true, "TomEE http port"); >> > + options.addOption("s", SHUTDOWN, true, "TomEE shutdown port"); >> > + options.addOption("d", DIRECTORY, true, "TomEE directory"); >> > + options.addOption("c", AS_WAR, false, "deploy classpath as >> war"); >> > + options.addOption("b", DOC_BASE, true, "when deploy classpath as >> > war, the doc base"); >> > + return options; >> > + } >> > + >> > + private static Configuration createConfiguration(final CommandLine >> > args) { >> > + final Configuration config = new Configuration(); >> > + config.setDir(System.getProperty("java.io.tmpdir")); >> > + config.setHttpPort(Integer.parseInt(args.getOptionValue(PORT, >> > "8080"))); >> > + >> config.setStopPort(Integer.parseInt(args.getOptionValue(SHUTDOWN, >> > "8005"))); >> > + config.setDir(args.getOptionValue(DIRECTORY, new File(new >> > File("."), "apache-tomee").getAbsolutePath())); >> > + return config; >> > + } >> > + >> > +} >> > >> > >> > >> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy >> > ---------------------------------------------------------------------- >> > diff --git >> > >> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy >> > >> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy >> > index 1d8fcef..f5a4247 100644 >> > --- >> > >> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy >> > +++ >> > >> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.policy >> > @@ -1,241 +1,241 @@ >> > -// Licensed to the Apache Software Foundation (ASF) under one or more >> > -// contributor license agreements. See the NOTICE file distributed with >> > -// this work for additional information regarding copyright ownership. >> > -// The ASF licenses this file to You under the Apache License, Version >> 2.0 >> > -// (the "License"); you may not use this file except in compliance with >> > -// the License. You may obtain a copy of the License at >> > -// >> > -// http://www.apache.org/licenses/LICENSE-2.0 >> > -// >> > -// Unless required by applicable law or agreed to in writing, software >> > -// distributed under the License is distributed on an "AS IS" BASIS, >> > -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > -// See the License for the specific language governing permissions and >> > -// limitations under the License. >> > - >> > -// >> > >> ============================================================================ >> > -// catalina.policy - Security Policy Permissions for Tomcat 7 >> > -// >> > -// This file contains a default set of security policies to be enforced >> > (by the >> > -// JVM) when Catalina is executed with the "-security" option. In >> > addition >> > -// to the permissions granted here, the following additional permissions >> > are >> > -// granted specific to each web application: >> > -// >> > -// * Read access to its document root directory >> > -// * Read, write and delete access to its working directory >> > -// >> > -// $Id: catalina.policy 1079755 2011-03-09 11:38:38Z markt $ >> > -// >> > >> ============================================================================ >> > - >> > - >> > -// ========== SYSTEM CODE PERMISSIONS >> > ========================================= >> > - >> > - >> > -// These permissions apply to javac >> > -grant codeBase "file:${java.home}/lib/-" { >> > - permission java.security.AllPermission; >> > -}; >> > - >> > -// These permissions apply to all shared system extensions >> > -grant codeBase "file:${java.home}/jre/lib/ext/-" { >> > - permission java.security.AllPermission; >> > -}; >> > - >> > -// These permissions apply to javac when ${java.home] points at >> > $JAVA_HOME/jre >> > -grant codeBase "file:${java.home}/../lib/-" { >> > - permission java.security.AllPermission; >> > -}; >> > - >> > -// These permissions apply to all shared system extensions when >> > -// ${java.home} points at $JAVA_HOME/jre >> > -grant codeBase "file:${java.home}/lib/ext/-" { >> > - permission java.security.AllPermission; >> > -}; >> > - >> > - >> > -// ========== CATALINA CODE PERMISSIONS >> > ======================================= >> > - >> > - >> > -// These permissions apply to the daemon code >> > -grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" { >> > - permission java.security.AllPermission; >> > -}; >> > - >> > -// These permissions apply to the logging API >> > -// Note: If tomcat-juli.jar is in ${catalina.base} and not in >> > ${catalina.home}, >> > -// update this section accordingly. >> > -// grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..} >> > -grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" { >> > - permission java.io.FilePermission >> > - >> > "${java.home}${file.separator}lib${file.separator}logging.properties", >> > "read"; >> > - >> > - permission java.io.FilePermission >> > - >> > >> "${catalina.base}${file.separator}conf${file.separator}logging.properties", >> > "read"; >> > - permission java.io.FilePermission >> > - "${catalina.base}${file.separator}logs", "read, write"; >> > - permission java.io.FilePermission >> > - "${catalina.base}${file.separator}logs${file.separator}*", >> > "read, write"; >> > - >> > - permission java.lang.RuntimePermission "shutdownHooks"; >> > - permission java.lang.RuntimePermission "getClassLoader"; >> > - permission java.lang.RuntimePermission "setContextClassLoader"; >> > - >> > - permission java.util.logging.LoggingPermission "control"; >> > - >> > - permission java.util.PropertyPermission >> > "java.util.logging.config.class", "read"; >> > - permission java.util.PropertyPermission >> > "java.util.logging.config.file", "read"; >> > - permission java.util.PropertyPermission "catalina.base", "read"; >> > - >> > - // Note: To enable per context logging configuration, permit >> read >> > access to >> > - // the appropriate file. Be sure that the logging configuration >> is >> > - // secure before enabling such access. >> > - // E.g. for the examples web application: >> > - // permission java.io.FilePermission >> > "${catalina.base}${file.separator} >> > - // webapps${file.separator}examples${file.separator}WEB-INF >> > - // >> ${file.separator}classes${file.separator}logging.properties", >> > "read"; >> > -}; >> > - >> > -// These permissions apply to the server startup code >> > -grant codeBase "file:${catalina.home}/bin/bootstrap.jar" { >> > - permission java.security.AllPermission; >> > -}; >> > - >> > -// These permissions apply to the servlet API classes >> > -// and those that are shared across all class loaders >> > -// located in the "lib" directory >> > -grant codeBase "file:${catalina.home}/lib/-" { >> > - permission java.security.AllPermission; >> > -}; >> > - >> > - >> > -// If using a per instance lib directory, i.e. ${catalina.base}/lib, >> > -// then the following permission will need to be uncommented >> > -// grant codeBase "file:${catalina.base}/lib/-" { >> > -// permission java.security.AllPermission; >> > -// }; >> > - >> > - >> > -// ========== WEB APPLICATION PERMISSIONS >> > ===================================== >> > - >> > - >> > -// These permissions are granted by default to all web applications >> > -// In addition, a web application will be given a read FilePermission >> > -// and JndiPermission for all files and directories in its document >> root. >> > -grant { >> > - // Required for JNDI lookup of named JDBC DataSource's and >> > - // javamail named MimePart DataSource used to send mail >> > - permission java.util.PropertyPermission "java.home", "read"; >> > - permission java.util.PropertyPermission "java.naming.*", "read"; >> > - permission java.util.PropertyPermission "javax.sql.*", "read"; >> > - >> > - // OS Specific properties to allow read access >> > - permission java.util.PropertyPermission "os.name", "read"; >> > - permission java.util.PropertyPermission "os.version", "read"; >> > - permission java.util.PropertyPermission "os.arch", "read"; >> > - permission java.util.PropertyPermission "file.separator", "read"; >> > - permission java.util.PropertyPermission "path.separator", "read"; >> > - permission java.util.PropertyPermission "line.separator", "read"; >> > - >> > - // JVM properties to allow read access >> > - permission java.util.PropertyPermission "java.version", "read"; >> > - permission java.util.PropertyPermission "java.vendor", "read"; >> > - permission java.util.PropertyPermission "java.vendor.url", "read"; >> > - permission java.util.PropertyPermission "java.class.version", >> "read"; >> > - permission java.util.PropertyPermission >> "java.specification.version", >> > "read"; >> > - permission java.util.PropertyPermission "java.specification.vendor", >> > "read"; >> > - permission java.util.PropertyPermission "java.specification.name", >> > "read"; >> > - >> > - permission java.util.PropertyPermission >> > "java.vm.specification.version", "read"; >> > - permission java.util.PropertyPermission >> > "java.vm.specification.vendor", "read"; >> > - permission java.util.PropertyPermission "java.vm.specification.name >> ", >> > "read"; >> > - permission java.util.PropertyPermission "java.vm.version", "read"; >> > - permission java.util.PropertyPermission "java.vm.vendor", "read"; >> > - permission java.util.PropertyPermission "java.vm.name", "read"; >> > - >> > - // Required for OpenJMX >> > - permission java.lang.RuntimePermission "getAttribute"; >> > - >> > - // Allow read of JAXP compliant XML parser debug >> > - permission java.util.PropertyPermission "jaxp.debug", "read"; >> > - >> > - // All JSPs need to be able to read this package >> > - permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.tomcat"; >> > - >> > - // Precompiled JSPs need access to these packages. >> > - permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.jasper.el"; >> > - permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.jasper.runtime"; >> > - permission java.lang.RuntimePermission >> > - "accessClassInPackage.org.apache.jasper.runtime.*"; >> > - >> > - // Precompiled JSPs need access to these system properties. >> > - permission java.util.PropertyPermission >> > - "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "read"; >> > - permission java.util.PropertyPermission >> > - "org.apache.el.parser.COERCE_TO_ZERO", "read"; >> > - >> > - // The cookie code needs these. >> > - permission java.util.PropertyPermission >> > - "org.apache.catalina.STRICT_SERVLET_COMPLIANCE", "read"; >> > - permission java.util.PropertyPermission >> > - "org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING", "read"; >> > - permission java.util.PropertyPermission >> > - "org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR", >> > "read"; >> > - >> > - // Applications using Comet need to be able to access this package >> > - permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.comet"; >> > -}; >> > - >> > - >> > -// The Manager application needs access to the following packages to >> > support the >> > -// session display functionality. These settings support the following >> > -// configurations: >> > -// - default CATALINA_HOME == CATALINA_BASE >> > -// - CATALINA_HOME != CATALINA_BASE, per instance Manager in >> CATALINA_BASE >> > -// - CATALINA_HOME != CATALINA_BASE, shared Manager in CATALINA_HOME >> > -grant codeBase "file:${catalina.base}/webapps/manager/-" { >> > - permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina"; >> > - permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.ha.session"; >> > - permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.manager"; >> > - permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.manager.util"; >> > - permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.util"; >> > -}; >> > -grant codeBase "file:${catalina.home}/webapps/manager/-" { >> > - permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina"; >> > - permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.ha.session"; >> > - permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.manager"; >> > - permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.manager.util"; >> > - permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.util"; >> > -}; >> > - >> > -// You can assign additional permissions to particular web applications >> by >> > -// adding additional "grant" entries here, based on the code base for >> that >> > -// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files. >> > -// >> > -// Different permissions can be granted to JSP pages, classes loaded >> from >> > -// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/ >> > -// directory, or even to individual jar files in the /WEB-INF/lib/ >> > directory. >> > -// >> > -// For instance, assume that the standard "examples" application >> > -// included a JDBC driver that needed to establish a network connection >> > to the >> > -// corresponding database and used the scrape taglib to get the weather >> > from >> > -// the NOAA web server. You might create a "grant" entries like this: >> > -// >> > -// The permissions granted to the context root directory apply to JSP >> > pages. >> > -// grant codeBase "file:${catalina.base}/webapps/examples/-" { >> > -// permission java.net.SocketPermission "dbhost.mycompany.com:5432 >> ", >> > "connect"; >> > -// permission java.net.SocketPermission "*.noaa.gov:80", >> "connect"; >> > -// }; >> > -// >> > -// The permissions granted to the context WEB-INF/classes directory >> > -// grant codeBase >> > "file:${catalina.base}/webapps/examples/WEB-INF/classes/-" { >> > -// }; >> > -// >> > -// The permission granted to your JDBC driver >> > -// grant codeBase >> > "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar!/-" { >> > -// permission java.net.SocketPermission "dbhost.mycompany.com:5432 >> ", >> > "connect"; >> > -// }; >> > -// The permission granted to the scrape taglib >> > -// grant codeBase >> > "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/scrape.jar!/-" { >> > -// permission java.net.SocketPermission "*.noaa.gov:80", >> "connect"; >> > -// }; >> > - >> > +// Licensed to the Apache Software Foundation (ASF) under one or more >> > +// contributor license agreements. See the NOTICE file distributed with >> > +// this work for additional information regarding copyright ownership. >> > +// The ASF licenses this file to You under the Apache License, Version >> 2.0 >> > +// (the "License"); you may not use this file except in compliance with >> > +// the License. You may obtain a copy of the License at >> > +// >> > +// http://www.apache.org/licenses/LICENSE-2.0 >> > +// >> > +// Unless required by applicable law or agreed to in writing, software >> > +// distributed under the License is distributed on an "AS IS" BASIS, >> > +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > +// See the License for the specific language governing permissions and >> > +// limitations under the License. >> > + >> > +// >> > >> ============================================================================ >> > +// catalina.policy - Security Policy Permissions for Tomcat 7 >> > +// >> > +// This file contains a default set of security policies to be enforced >> > (by the >> > +// JVM) when Catalina is executed with the "-security" option. In >> > addition >> > +// to the permissions granted here, the following additional permissions >> > are >> > +// granted specific to each web application: >> > +// >> > +// * Read access to its document root directory >> > +// * Read, write and delete access to its working directory >> > +// >> > +// $Id: catalina.policy 1079755 2011-03-09 11:38:38Z markt $ >> > +// >> > >> ============================================================================ >> > + >> > + >> > +// ========== SYSTEM CODE PERMISSIONS >> > ========================================= >> > + >> > + >> > +// These permissions apply to javac >> > +grant codeBase "file:${java.home}/lib/-" { >> > + permission java.security.AllPermission; >> > +}; >> > + >> > +// These permissions apply to all shared system extensions >> > +grant codeBase "file:${java.home}/jre/lib/ext/-" { >> > + permission java.security.AllPermission; >> > +}; >> > + >> > +// These permissions apply to javac when ${java.home] points at >> > $JAVA_HOME/jre >> > +grant codeBase "file:${java.home}/../lib/-" { >> > + permission java.security.AllPermission; >> > +}; >> > + >> > +// These permissions apply to all shared system extensions when >> > +// ${java.home} points at $JAVA_HOME/jre >> > +grant codeBase "file:${java.home}/lib/ext/-" { >> > + permission java.security.AllPermission; >> > +}; >> > + >> > + >> > +// ========== CATALINA CODE PERMISSIONS >> > ======================================= >> > + >> > + >> > +// These permissions apply to the daemon code >> > +grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" { >> > + permission java.security.AllPermission; >> > +}; >> > + >> > +// These permissions apply to the logging API >> > +// Note: If tomcat-juli.jar is in ${catalina.base} and not in >> > ${catalina.home}, >> > +// update this section accordingly. >> > +// grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..} >> > +grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" { >> > + permission java.io.FilePermission >> > + >> > "${java.home}${file.separator}lib${file.separator}logging.properties", >> > "read"; >> > + >> > + permission java.io.FilePermission >> > + >> > >> "${catalina.base}${file.separator}conf${file.separator}logging.properties", >> > "read"; >> > + permission java.io.FilePermission >> > + "${catalina.base}${file.separator}logs", "read, write"; >> > + permission java.io.FilePermission >> > + "${catalina.base}${file.separator}logs${file.separator}*", >> > "read, write"; >> > + >> > + permission java.lang.RuntimePermission "shutdownHooks"; >> > + permission java.lang.RuntimePermission "getClassLoader"; >> > + permission java.lang.RuntimePermission "setContextClassLoader"; >> > + >> > + permission java.util.logging.LoggingPermission "control"; >> > + >> > + permission java.util.PropertyPermission >> > "java.util.logging.config.class", "read"; >> > + permission java.util.PropertyPermission >> > "java.util.logging.config.file", "read"; >> > + permission java.util.PropertyPermission "catalina.base", "read"; >> > + >> > + // Note: To enable per context logging configuration, permit >> read >> > access to >> > + // the appropriate file. Be sure that the logging configuration >> is >> > + // secure before enabling such access. >> > + // E.g. for the examples web application: >> > + // permission java.io.FilePermission >> > "${catalina.base}${file.separator} >> > + // webapps${file.separator}examples${file.separator}WEB-INF >> > + // >> ${file.separator}classes${file.separator}logging.properties", >> > "read"; >> > +}; >> > + >> > +// These permissions apply to the server startup code >> > +grant codeBase "file:${catalina.home}/bin/bootstrap.jar" { >> > + permission java.security.AllPermission; >> > +}; >> > + >> > +// These permissions apply to the servlet API classes >> > +// and those that are shared across all class loaders >> > +// located in the "lib" directory >> > +grant codeBase "file:${catalina.home}/lib/-" { >> > + permission java.security.AllPermission; >> > +}; >> > + >> > + >> > +// If using a per instance lib directory, i.e. ${catalina.base}/lib, >> > +// then the following permission will need to be uncommented >> > +// grant codeBase "file:${catalina.base}/lib/-" { >> > +// permission java.security.AllPermission; >> > +// }; >> > + >> > + >> > +// ========== WEB APPLICATION PERMISSIONS >> > ===================================== >> > + >> > + >> > +// These permissions are granted by default to all web applications >> > +// In addition, a web application will be given a read FilePermission >> > +// and JndiPermission for all files and directories in its document >> root. >> > +grant { >> > + // Required for JNDI lookup of named JDBC DataSource's and >> > + // javamail named MimePart DataSource used to send mail >> > + permission java.util.PropertyPermission "java.home", "read"; >> > + permission java.util.PropertyPermission "java.naming.*", "read"; >> > + permission java.util.PropertyPermission "javax.sql.*", "read"; >> > + >> > + // OS Specific properties to allow read access >> > + permission java.util.PropertyPermission "os.name", "read"; >> > + permission java.util.PropertyPermission "os.version", "read"; >> > + permission java.util.PropertyPermission "os.arch", "read"; >> > + permission java.util.PropertyPermission "file.separator", "read"; >> > + permission java.util.PropertyPermission "path.separator", "read"; >> > + permission java.util.PropertyPermission "line.separator", "read"; >> > + >> > + // JVM properties to allow read access >> > + permission java.util.PropertyPermission "java.version", "read"; >> > + permission java.util.PropertyPermission "java.vendor", "read"; >> > + permission java.util.PropertyPermission "java.vendor.url", "read"; >> > + permission java.util.PropertyPermission "java.class.version", >> "read"; >> > + permission java.util.PropertyPermission >> "java.specification.version", >> > "read"; >> > + permission java.util.PropertyPermission "java.specification.vendor", >> > "read"; >> > + permission java.util.PropertyPermission "java.specification.name", >> > "read"; >> > + >> > + permission java.util.PropertyPermission >> > "java.vm.specification.version", "read"; >> > + permission java.util.PropertyPermission >> > "java.vm.specification.vendor", "read"; >> > + permission java.util.PropertyPermission "java.vm.specification.name >> ", >> > "read"; >> > + permission java.util.PropertyPermission "java.vm.version", "read"; >> > + permission java.util.PropertyPermission "java.vm.vendor", "read"; >> > + permission java.util.PropertyPermission "java.vm.name", "read"; >> > + >> > + // Required for OpenJMX >> > + permission java.lang.RuntimePermission "getAttribute"; >> > + >> > + // Allow read of JAXP compliant XML parser debug >> > + permission java.util.PropertyPermission "jaxp.debug", "read"; >> > + >> > + // All JSPs need to be able to read this package >> > + permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.tomcat"; >> > + >> > + // Precompiled JSPs need access to these packages. >> > + permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.jasper.el"; >> > + permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.jasper.runtime"; >> > + permission java.lang.RuntimePermission >> > + "accessClassInPackage.org.apache.jasper.runtime.*"; >> > + >> > + // Precompiled JSPs need access to these system properties. >> > + permission java.util.PropertyPermission >> > + "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "read"; >> > + permission java.util.PropertyPermission >> > + "org.apache.el.parser.COERCE_TO_ZERO", "read"; >> > + >> > + // The cookie code needs these. >> > + permission java.util.PropertyPermission >> > + "org.apache.catalina.STRICT_SERVLET_COMPLIANCE", "read"; >> > + permission java.util.PropertyPermission >> > + "org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING", "read"; >> > + permission java.util.PropertyPermission >> > + "org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR", >> > "read"; >> > + >> > + // Applications using Comet need to be able to access this package >> > + permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.comet"; >> > +}; >> > + >> > + >> > +// The Manager application needs access to the following packages to >> > support the >> > +// session display functionality. These settings support the following >> > +// configurations: >> > +// - default CATALINA_HOME == CATALINA_BASE >> > +// - CATALINA_HOME != CATALINA_BASE, per instance Manager in >> CATALINA_BASE >> > +// - CATALINA_HOME != CATALINA_BASE, shared Manager in CATALINA_HOME >> > +grant codeBase "file:${catalina.base}/webapps/manager/-" { >> > + permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina"; >> > + permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.ha.session"; >> > + permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.manager"; >> > + permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.manager.util"; >> > + permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.util"; >> > +}; >> > +grant codeBase "file:${catalina.home}/webapps/manager/-" { >> > + permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina"; >> > + permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.ha.session"; >> > + permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.manager"; >> > + permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.manager.util"; >> > + permission java.lang.RuntimePermission >> > "accessClassInPackage.org.apache.catalina.util"; >> > +}; >> > + >> > +// You can assign additional permissions to particular web applications >> by >> > +// adding additional "grant" entries here, based on the code base for >> that >> > +// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files. >> > +// >> > +// Different permissions can be granted to JSP pages, classes loaded >> from >> > +// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/ >> > +// directory, or even to individual jar files in the /WEB-INF/lib/ >> > directory. >> > +// >> > +// For instance, assume that the standard "examples" application >> > +// included a JDBC driver that needed to establish a network connection >> > to the >> > +// corresponding database and used the scrape taglib to get the weather >> > from >> > +// the NOAA web server. You might create a "grant" entries like this: >> > +// >> > +// The permissions granted to the context root directory apply to JSP >> > pages. >> > +// grant codeBase "file:${catalina.base}/webapps/examples/-" { >> > +// permission java.net.SocketPermission "dbhost.mycompany.com:5432 >> ", >> > "connect"; >> > +// permission java.net.SocketPermission "*.noaa.gov:80", >> "connect"; >> > +// }; >> > +// >> > +// The permissions granted to the context WEB-INF/classes directory >> > +// grant codeBase >> > "file:${catalina.base}/webapps/examples/WEB-INF/classes/-" { >> > +// }; >> > +// >> > +// The permission granted to your JDBC driver >> > +// grant codeBase >> > "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar!/-" { >> > +// permission java.net.SocketPermission "dbhost.mycompany.com:5432 >> ", >> > "connect"; >> > +// }; >> > +// The permission granted to the scrape taglib >> > +// grant codeBase >> > "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/scrape.jar!/-" { >> > +// permission java.net.SocketPermission "*.noaa.gov:80", >> "connect"; >> > +// }; >> > + >> > >> > >> > >> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties >> > ---------------------------------------------------------------------- >> > diff --git >> > >> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties >> > >> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties >> > index 5089043..ff86449 100644 >> > --- >> > >> a/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties >> > +++ >> > >> b/tomee/tomee-embedded/src/main/resources/org/apache/tomee/configs/catalina.properties >> > @@ -1,122 +1,122 @@ >> > -# Licensed to the Apache Software Foundation (ASF) under one or more >> > -# contributor license agreements. See the NOTICE file distributed with >> > -# this work for additional information regarding copyright ownership. >> > -# The ASF licenses this file to You under the Apache License, Version >> 2.0 >> > -# (the "License"); you may not use this file except in compliance with >> > -# the License. You may obtain a copy of the License at >> > -# >> > -# http://www.apache.org/licenses/LICENSE-2.0 >> > -# >> > -# Unless required by applicable law or agreed to in writing, software >> > -# distributed under the License is distributed on an "AS IS" BASIS, >> > -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> implied. >> > -# See the License for the specific language governing permissions and >> > -# limitations under the License. >> > - >> > -# >> > -# List of comma-separated packages that start with or equal this string >> > -# will cause a security exception to be thrown when >> > -# passed to checkPackageAccess unless the >> > -# corresponding RuntimePermission ("accessClassInPackage."+package) has >> > -# been granted. >> > >> > >> -package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper. >> > -# >> > -# List of comma-separated packages that start with or equal this string >> > -# will cause a security exception to be thrown when >> > -# passed to checkPackageDefinition unless the >> > -# corresponding RuntimePermission ("defineClassInPackage."+package) has >> > -# been granted. >> > -# >> > -# by default, no packages are restricted for definition, and none of >> > -# the class loaders supplied with the JDK call checkPackageDefinition. >> > -# >> > >> > >> -package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper. >> > - >> > -# >> > -# >> > -# List of comma-separated paths defining the contents of the "common" >> > -# classloader. Prefixes should be used to define what is the repository >> > type. >> > -# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or >> > absolute. >> > -# If left as blank,the JVM system loader will be used as Catalina's >> > "common" >> > -# loader. >> > -# Examples: >> > -# "foo": Add this folder as a class repository >> > -# "foo/*.jar": Add all the JARs of the specified folder as class >> > -# repositories >> > -# "foo/bar.jar": Add bar.jar as a class repository >> > >> > >> -common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar >> > - >> > -# >> > -# List of comma-separated paths defining the contents of the "server" >> > -# classloader. Prefixes should be used to define what is the repository >> > type. >> > -# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or >> > absolute. >> > -# If left as blank, the "common" loader will be used as Catalina's >> > "server" >> > -# loader. >> > -# Examples: >> > -# "foo": Add this folder as a class repository >> > -# "foo/*.jar": Add all the JARs of the specified folder as class >> > -# repositories >> > -# "foo/bar.jar": Add bar.jar as a class repository >> > -server.loader= >> > - >> > -# >> > -# List of comma-separated paths defining the contents of the "shared" >> > -# classloader. Prefixes should be used to define what is the repository >> > type. >> > -# Path may be relative to the CATALINA_BASE path or absolute. If left as >> > blank, >> > -# the "common" loader will be used as Catalina's "shared" loader. >> > -# Examples: >> > -# "foo": Add this folder as a class repository >> > -# "foo/*.jar": Add all the JARs of the specified folder as class >> > -# repositories >> > -# "foo/bar.jar": Add bar.jar as a class repository >> > -# Please note that for single jars, e.g. bar.jar, you need the URL form >> > -# starting with file:. >> > -shared.loader= >> > - >> > -# List of JAR files that should not be scanned for configuration >> > information >> > -# such as web fragments, TLD files etc. It must be a comma separated >> list >> > of >> > -# JAR file names. >> > -# The JARs listed below include: >> > -# - Tomcat Bootstrap JARs >> > -# - Tomcat API JARs >> > -# - Catalina JARs >> > -# - Jasper JARs >> > -# - Tomcat JARs >> > -# - Common non-Tomcat JARs >> > -# - Sun JDK JARs >> > -# - Apple JDK JARs >> > -tomcat.util.scan.DefaultJarScanner.jarsToSkip=\ >> > -bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,\ >> > -annotations-api.jar,el-api.jar,jsp-api.jar,servlet-api.jar,\ >> > -catalina.jar,catalina-ant.jar,catalina-ha.jar,catalina-tribes.jar,\ >> > -jasper.jar,jasper-el.jar,ecj-*.jar,\ >> > -tomcat-api.jar,tomcat-util.jar,tomcat-coyote.jar,tomcat-dbcp.jar,\ >> > >> > >> -tomcat-i18n-en.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,\ >> > -commons-beanutils*.jar,commons-collections*.jar,commons-dbcp*.jar,\ >> > -commons-digester*.jar,commons-fileupload*.jar,commons-logging*.jar,\ >> > -commons-pool*.jar,\ >> > -bcprov-*.jar,\ >> > -ant.jar,jmx.jar,jmx-tools.jar,\ >> > -xercesImpl.jar,xmlParserAPIs.jar,xml-apis.jar,\ >> > >> > >> -dnsns.jar,ldapsec.jar,localedata.jar,sunjce_provider.jar,sunpkcs11.jar,tools.jar,\ >> > -apple_provider.jar,AppleScriptEngine.jar,CoreAudio.jar,dns_sd.jar,\ >> > -j3daudio.jar,j3dcore.jar,j3dutils.jar,jai_core.jar,jai_codec.jar,\ >> > -mlibwrapper_jai.jar,MRJToolkit.jar,vecmath.jar,\ >> > -hsqldb-*,openejb-core-*,xbean-*,derby*,mbean-annotation-*,\ >> > >> > >> -javassit*,commons-*,swizzle-stream-*,serp-*,geronimo-javamail-*,geronimo-mail-*,\ >> > >> > >> -openejb-jee-*,openejb-core-*,openejb-loader-*,openejb-api-*,openejb-derby*,\ >> > -openwebbeans-ejb-*,openwebbeans-impl-*,\ >> > -bval-*,\ >> > >> > >> -tomee-loader-*,openejb-javaagent-*,openejb-ejbd-*,scannotation-*,openejb-server-*,\ >> > -openjpa-*,quartz-*,openejb-http-*,kahadb-* >> > - >> > -# >> > -# String cache configuration. >> > -tomcat.util.buf.StringCache.byte.enabled=true >> > -#tomcat.util.buf.StringCache.char.enabled=true >> > -#tomcat.util.buf.StringCache.trainThreshold=500000 >> > -#tomcat.util.buf.StringCache.cacheSize=5000 >> > - >> > -http.port=${tomcatHttpPort} >> > -shutdown.port=${tomcatShutdownPort} >> > +# Licensed to the Apache Software Foundation (ASF) under one or more >> > +# contributor license agreements. See the NOTICE file distributed with >> > +# this work for additional information regarding copyright ownership. >> > +# The ASF licenses this file to You under the Apache License, Version >> 2.0 >> > +# (the "License"); you may not use this file except in compliance with >> > +# the License. You may obtain a copy of the License at >> > +# >> > +# http://www.apache.org/licenses/LICENSE-2.0 >> > +# >> > +# Unless required by applicable law or agreed to in writing, software >> > +# distributed under the License is distributed on an "AS IS" BASIS, >> > +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> implied. >> > +# See the License for the specific language governing permissions and >> > +# limitations under the License. >> > + >> > +# >> > +# List of comma-separated packages that start with or equal this string >> > +# will cause a security exception to be thrown when >> > +# passed to checkPackageAccess unless the >> > +# corresponding RuntimePermission ("accessClassInPackage."+package) has >> > +# been granted. >> > >> > >> +package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper. >> > +# >> > +# List of comma-separated packages that start with or equal this string >> > +# will cause a security exception to be thrown when >> > +# passed to checkPackageDefinition unless the >> > +# corresponding RuntimePermission ("defineClassInPackage."+package) has >> > +# been granted. >> > +# >> > +# by default, no packages are restricted for definition, and none of >> > +# the class loaders supplied with the JDK call checkPackageDefinition. >> > +# >> > >> > >> +package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper. >> > + >> > +# >> > +# >> > +# List of comma-separated paths defining the contents of the "common" >> > +# classloader. Prefixes should be used to define what is the repository >> > type. >> > +# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or >> > absolute. >> > +# If left as blank,the JVM system loader will be used as Catalina's >> > "common" >> > +# loader. >> > +# Examples: >> > +# "foo": Add this folder as a class repository >> > +# "foo/*.jar": Add all the JARs of the specified folder as class >> > +# repositories >> > +# "foo/bar.jar": Add bar.jar as a class repository >> > >> > >> +common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar >> > + >> > +# >> > +# List of comma-separated paths defining the contents of the "server" >> > +# classloader. Prefixes should be used to define what is the repository >> > type. >> > +# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or >> > absolute. >> > +# If left as blank, the "common" loader will be used as Catalina's >> > "server" >> > +# loader. >> > +# Examples: >> > +# "foo": Add this folder as a class repository >> > +# "foo/*.jar": Add all the JARs of the specified folder as class >> > +# repositories >> > +# "foo/bar.jar": Add bar.jar as a class repository >> > +server.loader= >> > + >> > +# >> > +# List of comma-separated paths defining the contents of the "shared" >> > +# classloader. Prefixes should be used to define what is the repository >> > type. >> > +# Path may be relative to the CATALINA_BASE path or absolute. If left as >> > blank, >> > +# the "common" loader will be used as Catalina's "shared" loader. >> > +# Examples: >> > +# "foo": Add this folder as a class repository >> > +# "foo/*.jar": Add all the JARs of the specified folder as class >> > +# repositories >> > +# "foo/bar.jar": Add bar.jar as a class repository >> > +# Please note that for single jars, e.g. bar.jar, you need the URL form >> > +# starting with file:. >> > +shared.loader= >> > + >> > +# List of JAR files that should not be scanned for configuration >> > information >> > +# such as web fragments, TLD files etc. It must be a comma separated >> list >> > of >> > +# JAR file names. >> > +# The JARs listed below include: >> > +# - Tomcat Bootstrap JARs >> > +# - Tomcat API JARs >> > +# - Catalina JARs >> > +# - Jasper JARs >> > +# - Tomcat JARs >> > +# - Common non-Tomcat JARs >> > +# - Sun JDK JARs >> > +# - Apple JDK JARs >> > +tomcat.util.scan.DefaultJarScanner.jarsToSkip=\ >> > +bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,\ >> > +annotations-api.jar,el-api.jar,jsp-api.jar,servlet-api.jar,\ >> > +catalina.jar,catalina-ant.jar,catalina-ha.jar,catalina-tribes.jar,\ >> > +jasper.jar,jasper-el.jar,ecj-*.jar,\ >> > +tomcat-api.jar,tomcat-util.jar,tomcat-coyote.jar,tomcat-dbcp.jar,\ >> > >> > >> +tomcat-i18n-en.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,\ >> > +commons-beanutils*.jar,commons-collections*.jar,commons-dbcp*.jar,\ >> > +commons-digester*.jar,commons-fileupload*.jar,commons-logging*.jar,\ >> > +commons-pool*.jar,\ >> > +bcprov-*.jar,\ >> > +ant.jar,jmx.jar,jmx-tools.jar,\ >> > +xercesImpl.jar,xmlParserAPIs.jar,xml-apis.jar,\ >> > >> > >> +dnsns.jar,ldapsec.jar,localedata.jar,sunjce_provider.jar,sunpkcs11.jar,tools.jar,\ >> > +apple_provider.jar,AppleScriptEngine.jar,CoreAudio.jar,dns_sd.jar,\ >> > +j3daudio.jar,j3dcore.jar,j3dutils.jar,jai_core.jar,jai_codec.jar,\ >> > +mlibwrapper_jai.jar,MRJToolkit.jar,vecmath.jar,\ >> > +hsqldb-*,openejb-core-*,xbean-*,derby*,mbean-annotation-*,\ >> > >> > >> +javassit*,commons-*,swizzle-stream-*,serp-*,geronimo-javamail-*,geronimo-mail-*,\ >> > >> > >> +openejb-jee-*,openejb-core-*,openejb-loader-*,openejb-api-*,openejb-derby*,\ >> > +openwebbeans-ejb-*,openwebbeans-impl-*,\ >> > +bval-*,\ >> > >> > >> +tomee-loader-*,openejb-javaagent-*,openejb-ejbd-*,scannotation-*,openejb-server-*,\ >> > +openjpa-*,quartz-*,openejb-http-*,kahadb-* >> > + >> > +# >> > +# String cache configuration. >> > +tomcat.util.buf.StringCache.byte.enabled=true >> > +#tomcat.util.buf.StringCache.char.enabled=true >> > +#tomcat.util.buf.StringCache.trainThreshold=500000 >> > +#tomcat.util.buf.StringCache.cacheSize=5000 >> > + >> > +http.port=${tomcatHttpPort} >> > +shutdown.port=${tomcatShutdownPort} >> > shutdown.command=${tomcatShutdownCommand} >> > \ No newline at end of file >> > >> > >> > >> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java >> > ---------------------------------------------------------------------- >> > diff --git >> > a/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java >> > b/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java >> > index abbc097..8f828b9 100644 >> > --- >> > a/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java >> > +++ >> > b/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ABean.java >> > @@ -1,26 +1,26 @@ >> > -/** >> > - * Licensed to the Apache Software Foundation (ASF) under one or more >> > - * contributor license agreements. See the NOTICE file distributed with >> > - * this work for additional information regarding copyright ownership. >> > - * The ASF licenses this file to You under the Apache License, Version >> 2.0 >> > - * (the "License"); you may not use this file except in compliance with >> > - * the License. You may obtain a copy of the License at >> > - * >> > - * http://www.apache.org/licenses/LICENSE-2.0 >> > - * >> > - * Unless required by applicable law or agreed to in writing, software >> > - * distributed under the License is distributed on an "AS IS" BASIS, >> > - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > - * See the License for the specific language governing permissions and >> > - * limitations under the License. >> > - */ >> > -package org.apache.tomee.embedded; >> > - >> > -import javax.ejb.Singleton; >> > - >> > -@Singleton >> > -public class ABean { >> > - public String embedded() { >> > - return "ok"; >> > - } >> > -} >> > +/** >> > + * Licensed to the Apache Software Foundation (ASF) under one or more >> > + * contributor license agreements. See the NOTICE file distributed with >> > + * this work for additional information regarding copyright ownership. >> > + * The ASF licenses this file to You under the Apache License, Version >> 2.0 >> > + * (the "License"); you may not use this file except in compliance with >> > + * the License. You may obtain a copy of the License at >> > + * >> > + * http://www.apache.org/licenses/LICENSE-2.0 >> > + * >> > + * Unless required by applicable law or agreed to in writing, software >> > + * distributed under the License is distributed on an "AS IS" BASIS, >> > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > + * See the License for the specific language governing permissions and >> > + * limitations under the License. >> > + */ >> > +package org.apache.tomee.embedded; >> > + >> > +import javax.ejb.Singleton; >> > + >> > +@Singleton >> > +public class ABean { >> > + public String embedded() { >> > + return "ok"; >> > + } >> > +} >> > >> > >> > >> http://git-wip-us.apache.org/repos/asf/tomee/blob/3069db0b/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml >> > ---------------------------------------------------------------------- >> > diff --git a/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml >> > b/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml >> > index e0d7a63..b1514dd 100644 >> > --- a/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml >> > +++ b/tomee/tomee-embedded/src/test/resources/META-INF/beans.xml >> > @@ -1,19 +1,19 @@ >> > -<?xml version="1.0" encoding="UTF-8"?> >> > -<!-- >> > - >> > - Licensed to the Apache Software Foundation (ASF) under one or more >> > - contributor license agreements. See the NOTICE file distributed >> with >> > - this work for additional information regarding copyright ownership. >> > - The ASF licenses this file to You under the Apache License, Version >> > 2.0 >> > - (the "License"); you may not use this file except in compliance with >> > - the License. You may obtain a copy of the License at >> > - >> > - http://www.apache.org/licenses/LICENSE-2.0 >> > - >> > - Unless required by applicable law or agreed to in writing, software >> > - distributed under the License is distributed on an "AS IS" BASIS, >> > - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > - See the License for the specific language governing permissions and >> > - limitations under the License. >> > ---> >> > -<beans /> >> > +<?xml version="1.0" encoding="UTF-8"?> >> > +<!-- >> > + >> > + Licensed to the Apache Software Foundation (ASF) under one or more >> > + contributor license agreements. See the NOTICE file distributed >> with >> > + this work for additional information regarding copyright ownership. >> > + The ASF licenses this file to You under the Apache License, Version >> > 2.0 >> > + (the "License"); you may not use this file except in compliance with >> > + the License. You may obtain a copy of the License at >> > + >> > + http://www.apache.org/licenses/LICENSE-2.0 >> > + >> > + Unless required by applicable law or agreed to in writing, software >> > + distributed under the License is distributed on an "AS IS" BASIS, >> > + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> > implied. >> > + See the License for the specific language governing permissions and >> > + limitations under the License. >> > +--> >> > +<beans /> >> > >> > >> > > > > -- > Daniel Cunha > https://twitter.com/dvlc_ > http://www.tomitribe.com
