2013-02-27 2 views
0

IKVM을 사용하는 C#에서 opennlp 도구를 사용하고 있습니다. 다음 코드 작성 :TypeInitializationException 처리되지 않았습니다 - IKVM을 사용하는 OpenNLP

string modelpath = @"D:\models\en-sent.bin"; 
java.io.FileInputStream modelInpStream = new java.io.FileInputStream(modelpath); 
SentenceModel model = new SentenceModel(modelInpStream); 
SentenceDetectorME sentenceDetector = new SentenceDetectorME(model); 

을하지만 라인에 TypeInitializationException 원인 :

SentenceModel model = new SentenceModel(modelInpStream); 

예외 메시지 :

TypeInitializationException이 처리되지 않은 '자바의 형식 이니셜
했다 .nio.charset.StandardCharsets '가 예외를 던졌습니다.

IKVM Charsets dll을 추가했지만 여전히 작동하지 않습니다.

답변

1

모든 IKVM.OpenJDK. *. dll 파일이 응용 프로그램 bin 디렉토리에 있는지 확인하십시오. Visual Studio는 참조 된 모든 어셈블리를 항상 복사하지는 않습니다 (사용되지 않은 경우).

또 다른 제안은 Java 관점에서 전체 예외를 인쇄하는 것입니다. 즉 이런 식 다음 TypeInitializationException의 근본 원인에 대한 자세한 정보를 제공한다

using ikvm.extensions; // make the Exception extension methods available 

try { 
    ... 
} catch (Exception x) { 
    x.printStackTrace(); 
} 

.

+0

그들은 이미 있습니다. 시간 내 줘서 고마워! – yaKashif

+0

IKVM의 어떤 버전을 사용하고 있으며 시스템 로캘 설정은 무엇입니까? –

+0

IKVM 7.2.4630.5 및 해당 영어 (미국) – yaKashif