2016-08-03 3 views
0

"Hello World"샘플을 실행하려고합니다. 문제는 내가 코드를 통해 주변의 파고와는 NoSuchElementException를 읽고 일부는 사실에서 오는 일에서 이제 HelloWorld.java 예제를 실행하려고 다음과 같은 오류 ...JXTA 구성 문제 : jxta : HTTPTransportAdvertisement가 등록되지 않았습니다.

Fatal error -- Quitting 
java.util.NoSuchElementException: key 'jxta:HTTPTransportAdvertisement' not registered. 
    at net.jxta.util.ClassFactory.getInstantiator(ClassFactory.java:355) 
    at net.jxta.document.AdvertisementFactory.newAdvertisement(AdvertisementFactory.java:249) 
    at net.jxta.platform.NetworkConfigurator.createHttpAdv(NetworkConfigurator.java:1833) 
    at net.jxta.platform.NetworkConfigurator.<init>(NetworkConfigurator.java:528) 
    at net.jxta.platform.NetworkConfigurator.newAdHocConfiguration(NetworkConfigurator.java:436) 
    at net.jxta.platform.NetworkManager.configure(NetworkManager.java:321) 
    at net.jxta.platform.NetworkManager.startNetwork(NetworkManager.java:402) 
    at tutorial.helloworld.HelloWorld.main(HelloWorld.java:90) 

가 계속있는 상태에서 XML 요소 또는 구성에서 키를 찾을 수 없습니다. OK입니다.하지만 NetworkManager.ConfigMode가 ADHOC 일 때 문서를 읽는 것은 구성 파일이 필요없는 것처럼 보입니다.

나는 방화벽과 호스트 및 네트워크 IPS 및 안티 바이러스를 끄는 것이 도움이 될 수있는 몇 가지 희망을 가지고 시도했지만, 그렇지 않습니다. Sysinternals 프로세스 모니터 사용 eclipse.exe 또는 java.exe가 PlatformConfig 파일을 읽거나 reconf 파일을 찾으려하지 않습니다. 그래서 이것은 다시 내가 설정 파일을 필요로하지 않는다고 믿게 만든다.

JDK 1.8이 Eclipse Neon에서 [https://svn.java.net/svn/jxta-jxse~svn/, Tag : 2.7]의 JXTA 2.7을 사용하고 있습니다. 내 프로젝트에 https://sourceforge.net/projects/practicaljxta/files/의 종속성을 포함 시켰습니다.

샘플 코드는 tutorials/src/main/java/tutorial/HelloWorld/HelloWorld.java 경로에 있습니다.

JXTA가 jxta : HTTPTransportAdvertisement를 등록 할 수없는 이유와 문제를 해결하는 방법을 알고 싶습니다.

+0

에서 jxse-2.7.jar에 필요한 항아리의 : 이유 죽은 기술에 대한 샘플 코드를 실행하려고합니까? https://en.wikipedia.org/wiki/JXTA#Status –

+0

@GregChabala이 기술은 내가 찾고있는 P2P 프레임 워크를 기반으로 다른 애플리케이션을 구축합니다. 그 밖의 것이 없다면 P2P 부분을 다시 작성해야 할 때조차도 원하는 작업을 수행 할 수 있음을 증명할 것입니다. JXTA의 대안을 알고 있다면 나는 모든 귀입니다. 건배! – therealdtw

답변

0

JXTA/JXSE 코드를 디버깅했습니다. 빌드 된 jar 파일에있는 META-INF 폴더에서 파일을 찾고 있다는 것을 알았습니다. 이것은 소스에서 내 빌드에 없었던 것입니다.

하나의 가능한 해결책은 자신의 jar 파일을 빌드하고 소스 src/main/resources에 META-INF 폴더를 포함시키는 것일 수 있지만 그 방법을 전적으로 보증 할 수는 없습니다.

내 해상도는 프로젝트 메이븐 저장소에 https://oss.sonatype.org/service/local/repositories/releases/content/com/kenai/jxse/jxse/2.7/jxse-2.7.jar에서 JXSE의 바이너리 빌드를 다운로드하는 것이었다과 함께 내 프로젝트에 포함 약간 주제 오프 https://sourceforge.net/projects/practicaljxta/files/lib-dependencies-2.7.zip/download