Return-Path: Delivered-To: apmail-maven-users-archive@www.apache.org Received: (qmail 56245 invoked from network); 22 Oct 2007 12:19:24 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Oct 2007 12:19:24 -0000 Received: (qmail 64081 invoked by uid 500); 22 Oct 2007 12:19:04 -0000 Delivered-To: apmail-maven-users-archive@maven.apache.org Received: (qmail 64046 invoked by uid 500); 22 Oct 2007 12:19:04 -0000 Mailing-List: contact users-help@maven.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Maven Users List" Reply-To: "Maven Users List" Delivered-To: mailing list users@maven.apache.org Received: (qmail 64035 invoked by uid 99); 22 Oct 2007 12:19:04 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Oct 2007 05:19:04 -0700 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_HELO_PASS,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [212.227.126.171] (HELO moutng.kundenserver.de) (212.227.126.171) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Oct 2007 12:19:07 +0000 Received: from [192.168.0.234] (host86-129-113-49.range86-129.btcentralplus.com [86.129.113.49]) by mrelayeu.kundenserver.de (node=mrelayeu2) with ESMTP (Nemesis) id 0MKwtQ-1IjwF324Rh-0002hj; Mon, 22 Oct 2007 14:18:45 +0200 Message-ID: <471C9524.20007@cyberspaceroad.com> Date: Mon, 22 Oct 2007 13:18:44 +0100 From: Adam Hardy User-Agent: Icedove 1.5.0.12 (X11/20070607) MIME-Version: 1.0 To: Maven Users List Subject: Re: classpath, tests, resources References: <693ca1de0710220504o46a38cdfha1b8411cf0ce2aba@mail.gmail.com> In-Reply-To: <693ca1de0710220504o46a38cdfha1b8411cf0ce2aba@mail.gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Provags-ID: V01U2FsdGVkX1+khpX9DjxWdtey9tnD6DwBkEapn0UMW7BM3hy AngFCNHq8Py/CADHT2ld0BOuaHrbxvVXv0kFug2DPRvqEleBny Wsl187ukCZEuakguYSy3TdbjX+Nv0LD X-Virus-Checked: Checked by ClamAV on apache.org Hi Ondrej looks like mvn is not only picking up the production log4j.properties file but it's also probably not substituting ${catalina.home} Check in your target/classes directory for log4j.properties and see if it's substituted it. Secondly, log4j uses the first log4j.properties it comes across, so it's not going to see the second one in src/test/resources There are many different ways of doing it - having just one log4j.properties in src/main/resources and doing substitution using parameters from a default profile for testing would be one method. You could change those by invoking a production profile when you build the war for release. Ondřej Černoš on 22/10/07 13:04, wrote: > I am experiencing a problem with testing and resources. Basically, it > seems the production and not the test resources are used when running > tests. > > I have two log4j.properties files, one defines appender as file > appender in src/main/resources: > > log4j.appender.dest1=org.apache.log4j.RollingFileAppender > log4j.appender.dest1.File=${catalina.home}/logs/provisioning.log > > the test one in src/test/resources defines console appender: > > log4j.appender.dest1=org.apache.log4j.ConsoleAppender > > When I run mvn clean test, I end up with an exception: > > java.io.FileNotFoundException: /logs/provisioning.log (No such file or > directory) > at java.io.FileOutputStream.openAppend(Native Method) > at java.io.FileOutputStream.(FileOutputStream.java:177) > at java.io.FileOutputStream.(FileOutputStream.java:102) > at org.apache.log4j.FileAppender.setFile(FileAppender.java:289) > at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:167) > at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:163) > at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256) > at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:132) > at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:96) > at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:654) > at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:612) > at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:509) > at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:415) > at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:441) > at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:470) > at org.apache.log4j.LogManager.(LogManager.java:122) > at org.apache.log4j.Logger.getLogger(Logger.java:104) > at com.mycompany.project.I18NProviderInvocationHandler.(I18NProviderInvocationHandler.java:80) > > however, when I delete the production log4j.properties file, the tests pass. > > This is what System.out.println(System.getProperty("java.class.path")); returns: > > /home/me/.m2/repository/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar > /home/me/.m2/repository/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.jar > /home/me/.m2/repository/org/apache/maven/surefire/surefire-api/2.4-jboss-1-SNAPSHOT/surefire-api-2.4-jboss-1-SNAPSHOT.jar > /home/me/.m2/repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar > /home/me/.m2/repository/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar > /home/me/.m2/repository/commons-lang/commons-lang/2.1/commons-lang-2.1.jar > /home/me/.m2/repository/org/apache/maven/surefire/surefire-booter/2.4-jboss-1-SNAPSHOT/surefire-booter-2.4-jboss-1-SNAPSHOT.jar > /home/me/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar > > However, when run from eclipse (the test fails the same way as when > run from command line), the classpath looks different: > > /home/me/workspace.3.3/provisioning/src/main/resources/ > /home/me/workspace.3.3/provisioning/src/test/resources/ > /home/me/workspace.3.3/provisioning/target/classes/ > /home/me/workspace.3.3/project/target/classes/ > /home/me/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar > /home/me/.m2/repository/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar > /home/me/.m2/repository/com/mycompany/ipnutil/1.0.1/ipnutil-1.0.1.jar > /home/me/.m2/repository/com/swiftmq/jndi/6.1.0/jndi-6.1.0.jar > etc. > > mvn help:effective-pom seems ok: > > > > /home/me/workspace.3.3/provisioning/src/main/resources > > > > > /home/me/workspace.3.3/provisioning/src/test/resources > > > > all is run on maven 2.0.7 and java 1.6.0_01. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@maven.apache.org For additional commands, e-mail: users-help@maven.apache.org