David schrieb:
> Dear Tim,
> 
> It works for me under eclipse, but not under maven from command line. On my 
> code what I use is to get the system property using:
> 
> System.getProperty("java.class.path");

The property seems to contain the classpath used for the forked surefire
execution and doesn't contain the project classes & dependencies.
Surefire uses a custom classloader to provide the project's classes. You
can file a rfe to the surefire project that it should modify the
property (if that's possible at all) to contain the project's classes
and dependencies.

> Are you ussing Maven 1.x?, becuase on the following link:
> http://maven.apache.org/guides/mini/guide-maven-classloading.html
> 
> There is a comment about a different behaviour when using Maven 1.x, I am 
> using Maven 2.x

No, I'm on m2 and I never extensively used m1, So I can't really comment
 on differences between both.

> This is my output:
> 
> P:\ceb2b2000-commons\ceb2b2000-commons-io>mvn test
> [INFO] Scanning for projects....
> [INFO] 
> -------------------------------------------------------------------------
> ---
> [INFO] Building ceb2b2000-commons-io
> [INFO]    task-segment: [test]
> [INFO] 
> -------------------------------------------------------------------------
> ---
> [INFO] [resources:resources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [compiler:compile]
> [INFO] Nothing to compile - all classes are up to date
> [INFO] [resources:testResources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [compiler:testCompile]
> [INFO] Nothing to compile - all classes are up to date
> [INFO] [surefire:test]
> [INFO] Surefire report directory: 
> P:\ceb2b2000-commons\ceb2b2000-commons-io\targ
> et\surefire-reports
> -------------------------------------------------------
>  T E S T S
> -------------------------------------------------------
> Running com.ceb2b2000.commons.io.TestFileUtils
> System.getProperty("java.class.path")=
> C:\Documents and 
> Settings\dleal\.m2\repository\org\codehaus\plexus\plexus-archiv
> er\1.0-alpha-7\plexus-archiver-1.0-alpha-7.jar;C:\Documents and 
> Settings\dleal\.
> m2\repository\org\apache\maven\surefire\surefire-api\2.3\surefire-api-2.3.jar;C:
> \Documents and 
> Settings\dleal\.m2\repository\org\codehaus\plexus\plexus-containe
> r-default\1.0-alpha-8\plexus-container-default-1..0-alpha-8.jar;C:\Documents 
> and
> Settings\dleal\.m2\repository\org\codehaus\plexus\plexus-utils\1.1\plexus-utils-
> 1.1.jar;C:\Documents and 
> Settings\dleal\.m2\repository\org\apache\maven\surefire
> \surefire-booter\2.3\surefire-booter-2.3.jar;C:\Documents and 
> Settings\dleal\.m2
> \repository\classworlds\classworlds\1.1-alpha-2\classworlds-1.1-alpha-2.jar;C:\D
> ocuments and 
> Settings\dleal\.m2\repository\commons-lang\commons-lang\2.1\commons
> -lang-2.1.jar;C:\Documents and 
> Settings\dleal\.m2\repository\junit\junit\3.8..1\j
> unit-3.8.1.jar
> Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.031 sec
> Results :
> Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESSFUL
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 1 second
> [INFO] Finished at: Tue Oct 23 15:36:26 CEST 2007
> [INFO] Final Memory: 4M/7M
> [INFO] 
> ------------------------------------------------------------------------
> P:\ceb2b2000-commons\ceb2b2000-commons-io>
> 
> 
> ----- Original Message ----
> From: Tim Kettler <[EMAIL PROTECTED]>
> To: Maven Users List <[email protected]>
> Sent: Tuesday, October 23, 2007 3:07:48 PM
> Subject: Re: How to configurate java.class.path property under a given test
> 
> David schrieb:
>> Dear members,
>>
>> I have a method that find a file on classpath and I want to check that it 
>> works fine. My testing class works fine
>> under Eclipse, for example but under mave it doesn't work properly. The 
>> reason is that during the testing process I
>> assume there is at least a directory location on classpath, but under maven 
>> the java.class.path, contains only jar files.
> 
> That's not true. This is from one of my projects:
> 
> [DEBUG]  (f) classpathElements = [
> /home/tik/Develop/wallabystreet/mtn4java/target/classes,
> /home/tik/Develop/wallabystreet/mtn4java/target/test-classes,
> /home/tik/.m2/repository/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.jar,
> /home/tik/.m2/repository/net/sf/oval/oval/1.0/oval-1.0.jar,
> /home/tik/.m2/repository/org/testng/testng/5.1/testng-5.1-jdk15.jar
> ]
> 
> The classes and test-classes directories are on the classpath.
> 
>> So I can't check if some file exist on some directory of my classpath. I 
>> would need for my test, just the "." directory,
>> but I don't find the way to add this information before the test start.
> 
> In fact, it's not good to access resources in the classpath directly via
> the file system. You should access them as resources via the
> classloader. See this thread [1] for an example.
> 
> -Tim
> 
> [1]
> http://www.nabble.com/Problems-with-loading-non-Java-resources-from-classpath-in-JUnit--tests-tf3734983s177.html#a10605055
> 
>> On the 
>>
>> I have seen other posts about this problem, but without any real good 
>> solution, for example:
>> http://www.mail-archive.com/[email protected]/msg47276.html
>>
>> On surefire documentation:
>> http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html
>>
>> probably using properly one of the following properties: 
>> environmentVariables, jvm, could be solved, but I don't figure out how to 
>> deal with this.
>>
>> Thanks,
>>
>> David
>>
>> __________________________________________________
>> Do You Yahoo!?
>> Tired of spam?  Yahoo! Mail has the best spam protection around 
>> http://mail.yahoo.com 
>>
>>
>> ---------------------------------------------------------------------
>> 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]
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> 
> 
> ---------------------------------------------------------------------
> 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