John Casey sent this method a while ago that might be useful:

private File getFile( String resourceName )
{
 ClassLoader cloader = Thread.currentThread().getContextClassLoader();
 URL resource = cloader.getResource( resourceName );

 if ( resource == null )
 {
     throw new IllegalArgumentException( "Could not get resource: " +
resourceName );
 }

 return new File( resource.getPath() );
}

Wayne

On 5/14/07, Rossmanith, Philipp <[EMAIL PROTECTED]> wrote:

> What is the content of "filePath1" ?
It's a string containing the name of the properties file... (It is working in 
Eclipse, so I can exclude a typo or similar as the cause of the error.)

Ciao,
Philipp

> -----Mensaje original-----
> De: Jörg Schaible [mailto:[EMAIL PROTECTED]
> Enviado el: lunes, 14 de mayo de 2007 10:13
> Para: Maven Users List
> Asunto: RE: Problems with loading non-Java resources from classpath in
> JUnit tests
>
> What is the content of "filePath1" ?
>
> Rossmanith, Philipp wrote on Monday, May 14, 2007 10:00 AM:
>
> > Hi,
> >
> > My resource file (the properties file I am trying to load) is located
> > under {root}src\test\resources. Compiling with Maven puts it under
> > {root}\target\test-classes, along with the Java class files
> > for the unit
> > tests.
> >
> > I also tried to run the tests with the properties-file placed in
> > {root}src\main\resources, but it didn't work, either.
> >
> > Any other suggestions?
> >
> > Thanks in advance,
> > Ciao,
> > Philipp
> >
> >> -----Mensaje original-----
> >> De: Wayne Fay [mailto:[EMAIL PROTECTED]
> >> Enviado el: domingo, 13 de mayo de 2007 23:36
> >> Para: Maven Users List
> >> Asunto: Re: Problems with loading non-Java resources from classpath
> >> in JUnit tests
> >>
> >
> >> Where is your resource file located in your source code tree?
> >>
> >
> >> It should be under src/main/resources. I will assume it is under
> >> src/main/java -- that's your problem.
> >>
> >
> >> Wayne
> >>
> >
> >> On 5/13/07, Rossmanith, Philipp <[EMAIL PROTECTED]>
> >> wrote:
> >>>
> >>> Hi,
> >>> I have a component that is loading resources/files from the
> > classpath
> >> and for which I have written a JUnit test. However, when I run the
> >> tests with Maven from the command line, they fail - obviously due to
> >> some classpath problems.*)
> >>> My assumption was that target/test-classes would form part of the
> >> classpath, which a test output with maven -X confirmed. **)
> > The idea I
> > got
> >> was that once the resource file (here: a properties file) would be
> >> found if it was contained in this folder. However, if I write out
> >> the classpath programmatically from within the JUnit test, it
> >> doesn't contain the folder.***)
> >>> Please note that running the same test in Eclipse is working if I
> > add
> >> the test/resources folder as a source folder (with output in
> >> target/test- classes).
> >>> Now my question is: How can I make add these non-Java resources to
> > the a
> >> Maven classpath? Is there a way to configure the classpath
> > that Maven
> > is
> >> looking at via the POM?
> >>> Any help on this would be highly appreciated, as I already blew 2
> >>> days on this. I'm using Maven 2.0.6 and JUnit 3.8.1 unit tests.
> >>> Thanks in advance, Ciao, Philipp *) I get a NPE for an input stream
> >>> i create via
> >> ClassLoader.getSystemResourceAsStream(this.filePath1).
> >>> **) From a file dump:
> >>>>>
> >>> [DEBUG] Adding to surefire test classpath: C:\Documents and
> >> Settings\9prossma\.m2\repository\org\codehaus\plexus\plexus-
> >> utils\1.1\plexus-utils-1.1.jar
> >>> [DEBUG] Test Classpath :
> >>> [DEBUG]   C:\Manchester\utilities\target\classes
> >>> [DEBUG]   C:\Manchester\utilities\target\test-classes <<
> >>> ***) System.out.println("Class path: " +
> >> System.getProperty("java.class.path")):
> >>>>>
> >>> Class path: C:\Documents and
> >> Settings\9prossma\.m2\repository\org\apache\maven\surefire\surefire-
> >> api\2.0\surefire-api-2.0.jar;C:\Documents and
> >> Settings\9prossma\.m2\repository\org\codehaus\plexus\plexus-
> >> utils\1.1\plexus-utils-1.1.jar;C:\Doc
> >>> uments and
> >> Settings\9prossma\.m2\repository\org\apache\maven\surefire\surefire-
> >> booter\2.0\surefire-booter-2.0.jar
> >>> <<
> >>>
> >>> This e-mail may contain confidential or privileged information. Any
> >>> unauthorised copying, use or distribution of this information is
> >>> strictly prohibited.
> >>>
> >>>
> > ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>
> >>>
> >>
> >
> >>
> > ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> > This e-mail may contain confidential or privileged
> > information. Any unauthorised
> > copying, use or distribution of this information is strictly
> > prohibited.
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


This e-mail may contain confidential or privileged information. Any unauthorised
copying, use or distribution of this information is strictly prohibited.

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



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

Reply via email to