1
-META-INF
-lib
-ejb-shared.jar
-ejb.jar
-com/ejb/... (classes)
-fileXml.xml (file I'm trying to access)
-web.war
일부 설명 :
- 는 "ejbshared"이
- 는 "EJB는"일부 EJB들과 JPA 엔티티를 포함 일부 EJB들과 JPA 엔티티를 포함 "ejb-shared"프로젝트를 사용합니다.
문제는 fileXml.xml에 액세스 할 수 없다는 것입니다. ,
File f = new File("fileXml.xml");
System.out.println(f.exists()); // returns false!
나는 이유는 모르겠지만,이 된 .ear에 존재입니다 althougth fileXml.xml가 클래스 경로에없는 것 같습니다 : (ejb.jar의)는 EJB 빈의 내부에서 내가했던 또는 어쩌면 나는 잘못된 방식으로 일을하고있다!
어떻게하면이 파일의 파일 경로를 가져올 수 있습니까? 나는 그것을 필요로하는 lib를 사용한다. 감사합니다 – joaosavio
JAR 파일의 파일 경로? 그렇게 할 수있는 이식성있는 방법은 없습니다. url의 프로토콜을 검사하고 내부 파일 URL을 추출한 다음이를 URI로 변환 한 다음이를 파일로 변환 할 수 있습니다. 또는 url.openConnection이 JarURLConnection의 인스턴스인지 확인한 다음 conn.getJarFile(). getName()을 사용할 수도 있습니다. 하지만 그 중 아무 것도 작동하도록 보장되어 있지 않습니다. –