Как указать путь к файлу в src / test / resources при запуске из jar - PullRequest
0 голосов
/ 04 марта 2020

Я собираю свой проект огурца java в банку, используя плагин ниже в pom. xml. Команда mvn package создает 2 jar-файла, один из которых содержит классы в src / main, а другой jar-файл содержит классы в src / test

. У меня есть xml, присутствующий в src / test / resources / testdata / errormessage. xml, который я читаю в одном из классов (также присутствует в src / test /../../ TestData. java). Часть кода для чтения xml равна

File file=new File(this.getClass().getClassLoader().getResource("testdata/errormessage.xml").getFile());

При работе из IDE, вывод равен

/Users/admin/Documents/_Work/code/cucumber-java/target/test-classes/testdata/errormessage.xml

При работе из JAR, вывод ниже. Этот вывод неверен. Я хочу знать, какой путь мне следует указать здесь

/Users/admin/Documents/_Work/code/cucumber-java/target/file:/Users/admin/Documents/_Work/code/cucumber-java/target/cucumber-executable-tests.jar!/testdata/errormessage.xml

Плагин, упомянутый в pom:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/libs</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.1.0</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
...