Java maven测试jar:src/test/resources/file存在,但测试未找到
我有这样的模块结构Java maven测试jar:src/test/resources/file存在,但测试未找到,java,maven,Java,Maven,我有这样的模块结构 external_services/pom.xml ifs/pom.xml src/main/java src/main/java/resources src/test/java src/test/java/resources/sample.json inventory/pom
external_services/pom.xml
ifs/pom.xml
src/main/java
src/main/java/resources
src/test/java
src/test/java/resources/sample.json
inventory/pom.xml
ifs/pom.xml
src/main/java
src/main/java/resources
src/test/java/MyTest.java
在这个MyTest.java
中,我需要获取sample.json
,因为我希望它能够被共享,所以在business/pom.xml
中,我添加了以下内容
<dependency>
<groupId>com.org.my_services.external_services</groupId>
<artifactId>ifs</artifactId>
<version>1.0-SNAPSHOT</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
然而,当我查看jarifs-1.0-SNAPSHOT-tests.jar时,我看到了它
jar -tvf /Users/harith/.m2/repository/com/org/pryme_services/federated_services/ifs/1.0-SNAPSHOT/ifs-1.0-SNAPSHOT-tests.jar
0 Wed May 07 09:47:36 PDT 2014 META-INF/
131 Wed May 07 09:47:34 PDT 2014 META-INF/MANIFEST.MF
0 Wed May 07 09:47:34 PDT 2014 com/
0 Wed May 07 09:47:34 PDT 2014 com/org/
0 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/
0 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/
0 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/
0 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/configuration/
892 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/configuration/DevelopmentContextConfiguration.class
888 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/configuration/ProductionContextConfiguration.class
2381 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/IFSClientTest.class
1422 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/InventoryRESTClientTest.class
1033 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/MockIfsClient$1.class
2350 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/MockIfsClient.class
142315 Wed May 07 09:47:34 PDT 2014 sample.json // <-- here
0 Wed May 07 09:47:36 PDT 2014 META-INF/maven/
0 Wed May 07 09:47:36 PDT 2014 META-INF/maven/com.org.pryme_services.federated_services/
0 Wed May 07 09:47:36 PDT 2014 META-INF/maven/com.org.pryme_services.federated_services/ifs/
2391 Wed May 07 09:45:36 PDT 2014 META-INF/maven/com.org.pryme_services.federated_services/ifs/pom.xml
138 Wed May 07 09:47:34 PDT 2014 META-INF/maven/com.org.pryme_services.federated_services/ifs/pom.properties
jar-tvf/Users/harith/.m2/repository/com/org/pryme\u services/federated\u services/ifs/1.0-SNAPSHOT/ifs-1.0-SNAPSHOT-tests.jar
0星期三5月7日09:47:36 PDT 2014 META-INF/
131星期三5月7日09:47:34 PDT 2014 META-INF/MANIFEST.MF
0星期三5月7日09:47:34 PDT 2014 com/
0星期三5月7日09:47:34 PDT 2014 com/org/
0星期三5月7日09:47:34 PDT 2014 com/org/pryme_services/
0星期三5月7日09:47:34 PDT 2014 com/org/pryme_services/external_services/
0星期三5月7日09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/
0星期三5月7日09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/configuration/
892星期三5月7日09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/configuration/DevelopmentContextConfiguration.class
888 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/configuration/ProductionContextConfiguration.class
2381星期三5月7日09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/IFSClientTest.class
1422年5月7日星期三09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/InventoryRESTClientTest.class
1033 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/MockIfsClient$1.class
2350 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/MockIfsClient.class
142315 Wed May 07 09:47:34 PDT 2014 sample.json/有几件事:
(一)
外部服务/pom.xml
ifs/pom.xml
src/main/java
src/main/java/resources
src/test/java
src/test/java/resources/sample.json
但马文预计
外部服务/pom.xml
ifs/pom.xml
src/main/java
src/main/resources
src/test/java
src/test/resources/sample.json
“资源”与“java”并行。在您的情况下,“资源”是一个包
2) 该文件名为“sample.json”,但查找“getInventoryAndPrice.json”
3) 新文件在路径上不起作用。您需要getResourceAsStream()从jar中提取数据。
(如果要使用路径,则需要使用nio类,而不是文件)
jar -tvf /Users/harith/.m2/repository/com/org/pryme_services/federated_services/ifs/1.0-SNAPSHOT/ifs-1.0-SNAPSHOT-tests.jar
0 Wed May 07 09:47:36 PDT 2014 META-INF/
131 Wed May 07 09:47:34 PDT 2014 META-INF/MANIFEST.MF
0 Wed May 07 09:47:34 PDT 2014 com/
0 Wed May 07 09:47:34 PDT 2014 com/org/
0 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/
0 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/
0 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/
0 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/configuration/
892 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/configuration/DevelopmentContextConfiguration.class
888 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/configuration/ProductionContextConfiguration.class
2381 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/IFSClientTest.class
1422 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/InventoryRESTClientTest.class
1033 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/MockIfsClient$1.class
2350 Wed May 07 09:47:34 PDT 2014 com/org/pryme_services/external_services/ifs/MockIfsClient.class
142315 Wed May 07 09:47:34 PDT 2014 sample.json // <-- here
0 Wed May 07 09:47:36 PDT 2014 META-INF/maven/
0 Wed May 07 09:47:36 PDT 2014 META-INF/maven/com.org.pryme_services.federated_services/
0 Wed May 07 09:47:36 PDT 2014 META-INF/maven/com.org.pryme_services.federated_services/ifs/
2391 Wed May 07 09:45:36 PDT 2014 META-INF/maven/com.org.pryme_services.federated_services/ifs/pom.xml
138 Wed May 07 09:47:34 PDT 2014 META-INF/maven/com.org.pryme_services.federated_services/ifs/pom.properties
inventoryPriceDetails = mapper.readValue(new File(getClass().getResource("/getInventoryAndPrice.json").getPath()), new TypeReference<List<InventoryPriceDetail>>() {
});