Anyone help ?

---------- Forwarded message ----------
From: Pete <[EMAIL PROTECTED]>
Date: 15-Feb-2007 14:11
Subject: mvn jetty:run problem with classloader
To: Maven Users List <[email protected]>


I'm using 'mvn jetty:run', and trying to get it to work with rapid
application development where the application has the following
structure :-

myproject-core   (jar)
myproject-weblib (jar)
myproject-web   (war)  - mvn jetty:run   from here

Jetty starts ok, and the application works fine at first, the in-situ
deployment uses classes and resources from the war project, and picks
up the dependant jars from local repository
(e.g. myproject-core.jar and  myproject-weblib.jar).

If I change say a JSP it is picked up immediately.

But if I change a Java class in the 'myproject-core' project, then do
a 'mvn install' the core jar gets updated, Jetty detects this and says
'restarting' - great exactly what I want, but I then get classloading
errors relating to  loading log4j.properties and application's
spring's applicationContext not being found.  Both these files reside
in the root of the myproject-core.jar.

What's strange is I thought I'd fixed it by moving the local Repo from
'c:\documents and settings'  to 'c:\dev\.m2' as the former had a space
in the path. But although I'm sure it was working it seems to have
stopped or is intermittent.

So the issue only arises if Jetty detects a change to a JAR on its
classpath. If I restart Jetty completely all is ok.

There doesn't seem to be any support forums for Jetty either.

help
Pete

[INFO] restarting [EMAIL PROTECTED]
2007-02-15 13:23:55.756:/myproject:INFO:  Closing
WebApplicationContext of Spring FrameworkServlet 'myproject'
com.au.myproject.web.util.SystemMonitor - User session destroyed: cs7k7p8hm5g6s
2007-02-15 13:23:55.974:/myproject:INFO:  Closing Spring root
WebApplicationContext
[INFO] Webapp source directory = C:\dev\myproject\myproject-web\src\main\webapp
[INFO] web.xml file =
C:\dev\myproject\myproject-web\src\main\webapp\WEB-INF\web.xml
[INFO] Classes directory C:\dev\myproject\myproject-web\target\classes
does not exist
[INFO] Context path = /myproject
[INFO] Tmp directory = C:\dev\myproject\myproject-web\target\work
[INFO] Web defaults =  jetty default
[INFO] Webapp directory = C:\dev\myproject\myproject-web\src\main\webapp
[INFO] Classpath =
[file:/C:/dev/myproject/myproject-web/target/classes,
file:/C:/dev/.m2/localrepository/axis/axis/1.4/axis-1.4.jar,
file:/C:/dev/.m2/localrepository/poi
/poi/2.5.1-final-20040804/poi-2.5.1-final-20040804.jar,
file:/C:/dev/.m2/localrepository/logkit/logkit/1.0.1/logkit-1.0.1.jar,
file:/C:/dev/.m2/localrepository/
javax/servlet/jstl/1.1.2/jstl-1.1.2.jar,
file:/C:/dev/.m2/localrepository/asm/asm/1.5.3/asm-1.5.3.jar,
file:/C:/dev/.m2/localrepository/commons-collections/comm
ons-collections/3.1/commons-collections-3.1.jar,
file:/C:/dev/.m2/localrepository/commons-dbcp/commons-dbcp/1.2.1/commons-dbcp-1.2.1.jar,
file:/C:/dev/.m2/local
repository/com/lowagie/itext/1.3.1/itext-1.3.1.jar,
file:/C:/dev/.m2/localrepository/com/au/myproject/myproject-weblib/1.2.0-SNAPSHOT/myproject-weblib-1.2.0-SNAPSHOT.jar,
file
:/C:/dev/.m2/localrepository/taglibs/standard/1.1.2/standard-1.1.2.jar,
file:/C:/dev/.m2/localrepository/mysql/mysql-connector-java/3.1.12/mysql-connector-java-
3.1.12.jar, 
file:/C:/dev/.m2/localrepository/commons-digester/commons-digester/1.7/commons-digester-1.7.jar,
file:/C:/dev/.m2/localrepository/commons-io/commons
-io/1.1/commons-io-1.1.jar,
file:/C:/dev/.m2/localrepository/commons-validator/commons-validator/1.3.0/commons-validator-1.3.0.jar,
file:/C:/dev/.m2/localreposi
tory/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar,
file:/C:/dev/.m2/localrepository/velocity/velocity-dep/1.4/velocity-dep-1.4.jar,
file:/C:/dev/.m2/localrepo
sitory/commons-logging/commons-logging/1.1/commons-logging-1.1.jar,
file:/C:/dev/.m2/localrepository/commons-fileupload/commons-fileupload/1.1/commons-fileuploa
d-1.1.jar, 
file:/C:/dev/.m2/localrepository/org/springframework/spring/2.0/spring-2.0.jar,
file:/C:/dev/.m2/localrepository/org/compass/compass/1.0.0/compass-1.
0.0.jar, file:/C:/dev/.m2/localrepository/cglib/cglib/2.1_3/cglib-2.1_3.jar,
file:/C:/dev/.m2/localrepository/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar,
file:/C:/
dev/.m2/localrepository/javax/mail/mail/1.4/mail-1.4.jar,
file:/C:/dev/.m2/localrepository/velocity/velocity/1.4/velocity-1.4.jar,
file:/C:/dev/.m2/localreposit
ory/axis/axis-wsdl4j/1.5.1/axis-wsdl4j-1.5.1.jar,
file:/C:/dev/.m2/localrepository/commons-chain/commons-chain/1.0/commons-chain-1.0.jar,
file:/C:/dev/.m2/local
repository/javax/xml/jaxrpc-api/1.1/jaxrpc-api-1.1.jar,
file:/C:/dev/.m2/localrepository/commons-pool/commons-pool/1.2/commons-pool-1.2.jar,
file:/C:/dev/.m2/lo
calrepository/log4j/log4j/1.2.14/log4j-1.2.14.jar,
file:/C:/dev/.m2/localrepository/antlr/antlr/2.7.2/antlr-2.7.2.jar,
file:/C:/dev/.m2/localrepository/com/orac
le/ojdbc14_g/10.2.0.1.0/ojdbc14_g-10.2.0.1.0.jar,
file:/C:/dev/.m2/localrepository/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar,
file:/C:/dev/.m2/localrepository
/commons-discovery/commons-discovery/0.2/commons-discovery-0.2.jar,
file:/C:/dev/.m2/localrepository/com/au/myproject/myproject-core/1.2.0-SNAPSHOT/myproject-core-1.2.0-SNAPSH
OT.jar, 
file:/C:/dev/.m2/localrepository/commons-lang/commons-lang/2.1/commons-lang-2.1.jar,
file:/C:/dev/.m2/localrepository/dbunit/dbunit/2.1/dbunit-2.1.jar,
file:/C:/dev/.m2/localrepository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar,
file:/C:/dev/.m2/localrepository/axis/axis-jaxrpc/1.4/ax
is-jaxrpc-1.4.jar,
file:/C:/dev/.m2/localrepository/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.jar,
file:/C:/dev/.m2/localrepository/avalon-framework/a
valon-framework/4.1.3/avalon-framework-4.1.3.jar,
file:/C:/dev/.m2/localrepository/jdom/jdom/1.0/jdom-1.0.jar,
file:/C:/dev/.m2/localrepository/oro/oro/2.0.8/or
o-2.0.8.jar, 
file:/C:/dev/.m2/localrepository/org/apache/lucene/lucene-core/2.0.0/lucene-core-2.0.0.jar,
file:/C:/dev/.m2/localrepository/nekohtml/nekohtml/0.9.
5/nekohtml-0.9.5.jar,
file:/C:/dev/.m2/localrepository/commons-codec/commons-codec/1.2/commons-codec-1.2.jar,
file:/C:/dev/.m2/localrepository/xerces/xercesImpl
/2.0.2/xercesImpl-2.0.2.jar,
file:/C:/dev/.m2/localrepository/javax/activation/activation/1.1/activation-1.1.jar,
file:/C:/dev/.m2/localrepository/commons-httpc
lient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.jar,
file:/C:/dev/.m2/localrepository/joda-time/joda-time/1.4/joda-time-1.4.jar,
file:/C:/dev/.m2/localr
epository/struts/struts/1.2.7/struts-1.2.7.jar,
file:/C:/dev/.m2/localrepository/aspectj/aspectjweaver/1.5.0/aspectjweaver-1.5.0.jar,
file:/C:/dev/.m2/localrepo
sitory/axis/axis-saaj/1.4/axis-saaj-1.4.jar,
file:/C:/dev/.m2/localrepository/org/acegisecurity/acegi-security-tiger/1.0.0-au/acegi-security-tiger-1.0.0-au.jar,
file:/C:/dev/.m2/localrepository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar,
file:/C:/dev/.m2/localrepository/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar,
file:/C:/de
v/.m2/localrepository/displaytag/displaytag/1.1/displaytag-1.1.jar,
file:/C:/dev/.m2/localrepository/com/au/commons/commons-au/1.5-SNAPSHOT/commons-au-1.5-SNAPS
HOT.jar, file:/C:/dev/.m2/localrepository/ognl/ognl/2.6.7/ognl-2.6.7.jar,
file:/C:/dev/.m2/localrepository/netaxept/netaxept-web-services/1.0/netaxept-web-servi
ces-1.0.jar, 
file:/C:/dev/.m2/localrepository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar,
file:/C:/dev/.m2/localrepository/commons-beanutils/commons-beanutils
-core/1.7.0/commons-beanutils-core-1.7.0.jar,
file:/C:/dev/.m2/localrepository/org/acegisecurity/acegi-security/1.0.0-au/acegi-security-1.0.0-au.jar]
log4j:ERROR Could not read configuration file from URL
[jar:file:/C:/dev/.m2/localrepository/com/au/myproject/myproject-core/1.2.0-SNAPSHOT/myproject-core-1.2.0-SNAPSHOT.jar!/
log4j.properties].
java.io.FileNotFoundException: JAR entry log4j.properties not found in
C:\dev\.m2\localrepository\com\au\myproject\myproject-core\1.2.0-SNAPSHOT\myproject-core-1.2.0-SNAPSHOT.
jar
       at 
sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:114)
       at 
sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:124)
       at java.net.URL.openStream(URL.java:1007)
       at 
org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:433)
       at 
org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:470)
       at org.apache.log4j.LogManager.<clinit>(LogManager.java:122)
       at org.apache.log4j.Logger.getLogger(Logger.java:104)
       at 
org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:283)
       at 
org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:108)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
       at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
       at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
       at 
org.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1040)
       at 
org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:838)
       at 
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:601)
       at 
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:333)
       at 
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:307)
       at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645)
       at 
org.springframework.web.context.request.RequestContextListener.<init>(RequestContextListener.java:48)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
       at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
       at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
       at java.lang.Class.newInstance0(Class.java:350)
       at java.lang.Class.newInstance(Class.java:303)
       at 
org.mortbay.jetty.webapp.WebXmlConfiguration.newListenerInstance(WebXmlConfiguration.java:574)
       at 
org.mortbay.jetty.webapp.WebXmlConfiguration.initListener(WebXmlConfiguration.java:555)
       at 
org.mortbay.jetty.webapp.WebXmlConfiguration.initWebXmlElement(WebXmlConfiguration.java:334)
       at 
org.mortbay.jetty.plus.webapp.AbstractConfiguration.initWebXmlElement(AbstractConfiguration.java:88)
       at 
org.mortbay.jetty.webapp.WebXmlConfiguration.initialize(WebXmlConfiguration.java:256)
       at 
org.mortbay.jetty.webapp.WebXmlConfiguration.configure(WebXmlConfiguration.java:201)
       at 
org.mortbay.jetty.plugin.Jetty6MavenConfiguration.configureWebApp(Jetty6MavenConfiguration.java:92)
       at 
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1127)
       at 
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:420)
       at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
       at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
       at 
org.mortbay.jetty.plugin.Jetty6PluginWebApplication.start(Jetty6PluginWebApplication.java:138)
       at 
org.mortbay.jetty.plugin.AbstractJettyRunMojo$1.changesDetected(AbstractJettyRunMojo.java:354)
       at org.mortbay.jetty.plugin.util.Scanner.run(Scanner.java:158)
log4j:ERROR Ignoring configuration file
[jar:file:/C:/dev/.m2/localrepository/com/au/myproject/myproject-core/1.2.0-SNAPSHOT/myproject-core-1.2.0-SNAPSHOT.jar!/log4j.propertie
s].
log4j:WARN No appenders could be found for logger
(org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
2007-02-15 13:23:56.740:myproject Application:INFO:  Loading Spring
root WebApplicationContext
2007-02-15 13:23:56.803::WARN:  failed
[EMAIL 
PROTECTED]/myproject,file:/C:/dev/myproject/myproject-web/src/main/webapp/}
org.springframework.beans.factory.BeanDefinitionStoreException:
IOException parsing XML document from class path resource
[myproject-application.xml]; nested excepti
on is java.io.FileNotFoundException: class path resource
[myproject-application.xml] cannot be opened because it does not exist
Caused by: java.io.FileNotFoundException: class path resource
[myproject-application.xml] cannot be opened because it does not exist
       at 
org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:137)
       at 
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:351)
       at 
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
       at 
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
       at 
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
       at 
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:123)
       at 
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:91)
       at 
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:94)
       at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:294)
       at 
org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
       at 
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
       at 
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
       at 
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
       at 
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:450)
       at org.mortbay.jetty.servlet.Context.startContext(Context.java:124)
       at 
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1136)
       at 
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:420)
       at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
       at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
       at 
org.mortbay.jetty.plugin.Jetty6PluginWebApplication.start(Jetty6PluginWebApplication.java:138)
       at 
org.mortbay.jetty.plugin.AbstractJettyRunMojo$1.changesDetected(AbstractJettyRunMojo.java:354)
       at org.mortbay.jetty.plugin.util.Scanner.run(Scanner.java:158)
2007-02-15 13:23:56.803::WARN:  Nested in
org.springframework.beans.factory.BeanDefinitionStoreException:
IOException parsing XML document from class path resou
rce [myproject-application.xml]; nested exception is
java.io.FileNotFoundException: class path resource
[myproject-application.xml] cannot be opened because it does not e
xist:
java.io.FileNotFoundException: class path resource
[myproject-application.xml] cannot be opened because it does not exist
       at 
org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:137)
       at 
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:351)
       at 
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
       at 
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
       at 
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
       at 
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:123)
       at 
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:91)
       at 
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:94)
       at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:294)
       at 
org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
       at 
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
       at 
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
       at 
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
       at 
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:450)
       at org.mortbay.jetty.servlet.Context.startContext(Context.java:124)
       at 
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1136)
       at 
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:420)
       at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
       at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
       at 
org.mortbay.jetty.plugin.Jetty6PluginWebApplication.start(Jetty6PluginWebApplication.java:138)
       at 
org.mortbay.jetty.plugin.AbstractJettyRunMojo$1.changesDetected(AbstractJettyRunMojo.java:354)
       at org.mortbay.jetty.plugin.util.Scanner.run(Scanner.java:158)
[ERROR] Error reconfiguring/restarting webapp after change in watched files
org.springframework.beans.factory.BeanDefinitionStoreException:
IOException parsing XML document from class path resource
[myproject-application.xml]; nested excepti
on is java.io.FileNotFoundException: class path resource
[myproject-application.xml] cannot be opened because it does not exist
Caused by: java.io.FileNotFoundException: class path resource
[myproject-application.xml] cannot be opened because it does not exist
       at 
org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:137)
       at 
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:351)
       at 
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
       at 
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
       at 
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
       at 
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:123)
       at 
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:91)
       at 
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:94)
       at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:294)
       at 
org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
       at 
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
       at 
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
       at 
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
       at 
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:450)
       at org.mortbay.jetty.servlet.Context.startContext(Context.java:124)
       at 
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1136)
       at 
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:420)
       at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
       at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
       at 
org.mortbay.jetty.plugin.Jetty6PluginWebApplication.start(Jetty6PluginWebApplication.java:138)
       at 
org.mortbay.jetty.plugin.AbstractJettyRunMojo$1.changesDetected(AbstractJettyRunMojo.java:354)
       at org.mortbay.jetty.plugin.util.Scanner.run(Scanner.java:158)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to