Как я могу сослаться на локальный файл и включить его в мою сборку maven при создании исполняемого файла jar? - PullRequest
1 голос
/ 28 апреля 2019

Я пытаюсь собрать свой исполняемый файл jar, но я не знаю, как включить локальный файл index.aff и index.dic в проект при его сборке. Когда я выполняю файл jar, он просто не знает, где находится файл, и выдает исключение «файл не найден». Он работает нормально, во время компиляции, но при выполнении моего файла JAR, кажется, не включается. Не совсем уверен, как это исправить. Как включить локальные файлы с моим jar без необходимости извлекать внешний индекс. * Files?

Это моя команда maven (она успешно собирается, но без файлов индекса):

$ mvn сборка: сборка -Dfile = src / lib / language-all-4.4.jar -DpomFile = pom.xml -Durl = файл: /// src / lib / en-US / * -X

public HunSpellChecker(){
    hunspell = Hunspell.getInstance();
    dir = "src/lib/en-US";   //jar doesn't know how to reference this.
    try{
        en = hunspell.getDictionary(dir + "/index" );
    } catch (Exception e){
        System.out.println(e.getMessage());
    }
}

1 Ответ

1 голос
/ 28 апреля 2019

Чтобы включить файлы, не являющиеся java-кодом, в ваш jar-файл с Maven, вам просто нужно изменить узел сборки в вашем pom.xml:

    <resources>
        <resource>
            <directory>path/to/the/resources'/directory</directory>
            <includes>
                <include>specific/file</include>
            </includes>
            <excludes>
                <exclude>specific/file</exclude>
            </excludes>
            <targetPath>path/in/jar/where/to/put/resources</targetPath>
        </resource>
    </resources>

По умолчанию все содержимое будет включено.
, , и - это дополнительные опции, просто используйте те, которые вам нужны. Вы можете найти больше примеров здесь .

...