Я собираю свой проект огурца 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>