문제

Java는 어떤 프로토콜을 사용할 수 있습니까? 내부 이클립스에서 코드를 실행하면 잘 작동합니다. 그런 다음 외부 이클립스에서 동일한 코드를 실행하고 "알 수없는 프로토콜"층식 붕괴를 얻습니다. 아마도 코드베이스와 관련이 있습니까? 모든 힌트가 도움이 될 것입니다.

감사!

도움이 되었습니까?

해결책

프로토콜을 해결하는 작업은 URLStreamHandler, 저장된 URL.handlers 소문자의 프로토콜에 의해. 핸들러는 차례로 URLStreamHandlerFactory ~에 URL.factory. 일식이 원숭이가 될까요?

일부 URL 생성자 스트림 핸들러를 가져 가면 공장을 설정할 수 있습니다. url.seturlStreamHandlerFactory.

다음은 웹 게시물입니다 프로토콜 핸들러 개발.

다른 팁

프로토콜 핸들러를 정의하는 Java 표준 방법은 다음과 같습니다.http://java.sun.com/developer/onlinetraining/protocolhandlers/

이는 Boot (?) 클래스 로더에서 사용할 수있는 프로토콜 핸들러 클래스에 의존합니다. 그것은 Osgi (따라서 일식)와 잘 작동하지 않습니다. OSGI는이 메커니즘 주위의 래퍼를 제공하여 번들/플러그인이 프로토콜 핸들러를 기여할 수 있도록합니다. 보다: http://www.osgi.org/javadoc/r4v41/org/osgi/service/url/urlstreamhandlerservice.html

Eclipse는 또한 자체 프로토콜을 제공합니다. Bundle-Resource (IIRC)는 Eclipse 외부에서는 확실히 작동하지 않습니다.

아마도 클래스 경로 문제 일 것입니다. 포함 된 일부 라이브러리 (JAR)에 의존하는 프로토콜을 사용한 다음 Eclipse에서 항아리를 내보낸 경우 프로젝트에 포함 된 JAR 파일은 Eclipse 외부의 실행 코드에서 찾을 수 없을 것입니다. 항아리에 필요한 라이브러리를 가리키는 매니페스트 파일이 필요합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top