You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Karl Heinz Marbaise (JIRA)" <ji...@apache.org> on 2016/07/27 18:29:20 UTC

[jira] [Commented] (MNG-6071) GetResource ('/) returns 'null' if build is started with -f

    [ https://issues.apache.org/jira/browse/MNG-6071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15396111#comment-15396111 ] 

Karl Heinz Marbaise commented on MNG-6071:
------------------------------------------

First for writing Tests you shouldn't need to know the `target` folder cause you need only resources which are located in `src/test/resources` or in `src/main/resources` which are by default copied to `target/test-classes` or `target/classes`. 

I have setup a full fledged [example how to implement a unit test|https://github.com/khmarbaise/maven-bugs/tree/master/MNG-6071] which access a file in `src/test/resources`. Apart from that it is unusual to call a maven build from outside location where the you need to specify the pom location. If you try the example you will see that will work independent if you call it from the location where the pom.xml is located or a level higher...


> GetResource ('/) returns 'null' if build is started with -f
> -----------------------------------------------------------
>
>                 Key: MNG-6071
>                 URL: https://issues.apache.org/jira/browse/MNG-6071
>             Project: Maven
>          Issue Type: Bug
>    Affects Versions: 3.2.1, 3.3.1, 3.3.9
>         Environment: Windows 10 x64
> Tested in cmd.exe, git bash.
>            Reporter: Alexander Bender
>            Priority: Minor
>
> I set up a very simple test maven project with only a dependency to testNG.
> {code}
>     public class TestTest {
>     @Test
>     public void test() {
>         System.out.println(getClass().getResource("/"));
> {code}
> Depending on how I build this, the call either returns null or the expected directory. How is that?
> {code}
>     // Prints: file:/C:/workspace/test/testproject/target/test-classes/
>     mvn clean test -Dtest=TestTest -f testproject/pom.xml
>     // Prints: null
>     mvn clean test -Dtest=TestTest -f ./testproject/pom.xml
> {code}
> Note that the second call includes "./" after -f.
> I actually want to find out the /target folder regardless of scenario (testNG in IntelliJ, Maven, Jenkins Buid, ...). So far, this way has proven the most reliable.
> {code}
>         System.out.println(getClass().getResource("./"));
> {code}
> This seems to reliably point to file:/C:/workspace/test/testproject/target/test-classes/com/testproject/test. Would this be safer to use?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)