2014-04-08 3 views
1

예를 들어 이클립스를 사용하여 자바 프로젝트 jar 파일에 .dic 및 .aff 파일을 추가하는 방법이 있는지 궁금합니다. 나는 내 코드에 사전이.dic 및 .aff 파일을 Java jar에 추가하는 방법은 무엇입니까?

:

URL dicDic = CipherTextAttack.class.getResource("en_US"); 
    static Hunspell.Dictionary dict = Hunspell.getInstance().getDictionary(dicDic.toString()); 

내가 ko 페이지 사전 파일을 필요없이 모든 곳에서 실행할 수있는 jar 파일을 필요 .. 는 것이 가능할까요?

답변

2

예. jar 파일은 기본적으로 확장자가 .jar 인 zip 파일이므로 모든 파일을 보관 파일에 저장할 수 있습니다. 그런 다음 클래스 경로에있는 한 코드에서 해당 파일에 액세스 할 수 있습니다. 쉽게 할 수있는 쉬운 방법 (큰 코드베이스에서는 깨끗하지는 않음)은 클래스 파일과 동일한 디렉토리 구조에 파일을 저장하는 것입니다.

파일에 액세스하려면 표시되는대로 Class.getResource()을 사용하고 사용 된 클래스에 상대적인 경로를 지정하면 사용 된 클래스의 클래스 로더를 사용하여 검색됩니다. 따라서, 가장 쉬운 방법은 사전을 사용하는 클래스와 동일한 디렉토리에 파일을 저장하는 것입니다. 예를 들어, 코드가 MyClass에 있으면 다음과 같이 작성하십시오.

URL dicDic = MyClass.class.getResource("file.dic"); 

C.f javadoc of the method

다음 파일을 항아리에 추가하려면 워크 플로 및 Eclipse, ant, maven 등을 사용하여 프로젝트를 빌드하는 방법에 따라 다릅니다. 예를 들어 ant을 사용하여 프로젝트를 컴파일하고 패키징하는 경우 빌드 파일에 jar 파일을 만드는 jar 작업이 있어야합니다. jar 파일에 dic 파일을 포함하도록 해당 작업을 수정해야합니다. 의심 스럽거나 기존 답변을 찾을 수없는 경우 특정 도구에 대해 별도의 질문을하는 것이 좋습니다.

테스트 목적으로 Winzip 또는 7-zip 또는 사용하는 모든 zip 파일 관리자로 jar 파일을 열어 아카이브에 dic 파일을 추가하기 만하면됩니다.

+0

큰 소리. 이제 제 질문은 어떻게 읽습니까? – Javi

+0

제 대답에 몇 가지 설명을 추가했습니다. 나는 당신이 의미하는 바를 이해하기를 바랍니다. – Djizeus

+0

예! 그것은 일했다! 감사! – Javi