2014-05-12 2 views
3

나는자바 : 다른 모듈에서 파일을 읽는 방법?

try { 
    inventoryPriceDetails = mapper.readValue(new File(getClass().getResource("/getInventoryAndPriceResponse.json").getPath()), new TypeReference<List<InventoryPriceDetail>>() { 
    }); 
} catch (final IOException e) { 
    throw new RuntimeException("could not read resource :" + e.getMessage()); 
} 

가 동일한 패키지에 있기 때문에 그렇게 IFSClientTest 실행 핀 여러 받는다는 모듈

project/pom.xml 
     /external_services/pom.xml 
         /ifs/pom.xml 
          /src/test/java/ 
              /MockIFSClient.java 
              /IFSClientTest.java 
          /src/test/java/resources/sample.json 
     /inventory/pom.xml 
       /business/pom.xml 
          /src/main/java/InventorySummary.java 
       /services/pom.xml 
          /src/main/java/InventorySummaryResource.java 
          /src/main/test/InventorySummaryResourceTest.java 

MockIFSClient 액세스 sample.json와 프로젝트가 있습니다.

문제가 있습니까?
InventorySummaryResourceTest는 동일한 코드를 액세스하려고 MockIFSClient를 호출하지만 지금은

could not read resource :file:/Users/harith/IdeaProjects/inventory_api/external_services/ifs/target/ifs-1.0-SNAPSHOT-tests.jar!/sample.json (No such file or directory) 

서비스 /의 pom.xml로 실패

<dependency> 
    <groupId>com.org.project.external_services</groupId> 
    <artifactId>ifs</artifactId> 
    <version>${project.version}</version> 
    <type>test-jar</type> 
    <scope>test</scope> 
</dependency> 

질문

같은 의존성이 어떤 변경을해야합니까

그것은 다른 모듈에서 액세스 할 수 있도록
new File(getClass().getResource("/getInventoryAndPriceResponse.json").getPath()) 

뿐만 아니라

답변

3

이 답변이 도움이 나를 내가

inventoryPriceDetails = mapper.readValue(getClass().getResourceAsStream("/getInventoryAndPriceResponse.json"), new TypeReference<List<InventoryPriceDetail>>() {}); 
에 다음 내 코드를 변경할 권리

How to really read text file from classpath in Java

을 받고

관련 문제