디렉토리에 주소를 제공했지만 디렉토리에있는 내용과 관련된 정보가없는 경우 디렉토리에 클래스가 들어 있는지 확인하고 클래스에 액세스 할 수 있는지 확인할 수 있습니까? URLClassLoader
을 통해디렉토리 내용을 알지 못하고 디렉토리의 클래스에 액세스
내가 현재 디렉토리의 주소와 URL 배열 만드는거야 : 심지어이 방법으로, 그러나
URL [] urls = new URL[1];
urls[0] = new File(address).toURI().toURL();
URLClassLoader urlClassLoader = new URLClassLoader(urls);
을, 내가 아는하지 않기 때문에 URLClassLoader
객체의 클래스에 액세스 할 수있는 클래스가 호출됩니다.
[파일 트리를 걷는 방법] (https://docs.oracle.com/javase/tutorial/essential/io/walk.html)과 찾을 수있는 ".class"파일을로드하는 방법은 무엇입니까? –
Java가 의도적으로 패키지의 클래스를 열거하는 방법을 제공하지 않는다는 것이 맞습니다. 로더를 들여다 보며 디렉토리를 얻고 .class 파일을 열거하는 Guava 유틸리티가 있습니다. – bmargulies
왜 이렇게 필요한지 잘 모르겠습니다 만, 검색 가능한 클래스가 인터페이스를 구현하고 [ServiceLoader documentation] (https : // docs)에 설명 된대로 해당 인터페이스를 서비스 공급자 인터페이스로 만드는 것이 더 나은 것으로 판단됩니다. .oracle.com/javase/9/docs/api/java/util/ServiceLoader.html). – VGR