Отсутствует файл в упаковке из репозитория Maven - PullRequest
2 голосов
/ 17 июня 2011

В настоящее время я пытаюсь использовать библиотеку проверки правописания Jazzy в своем проекте.Однако я наткнулся на какое-то странное исключение.Короче говоря, стало ясно, что в пакете Jazzy в репозитории Maven был удален файл свойств , который может быть ненужным (похоже, библиотека работает даже без нее ), но при использовании программы оставляет сообщения об исключениях.в консоли.

Итак, есть ли простой способ скопировать файл * .properties в точное место в * .jar с Maven или как лучше всего с ним справиться?

[edit] Без этого файла библиотека не будет предлагать предложения и будет указывать только слова, которых нет в словаре

Ответы [ 4 ]

1 голос
/ 21 июня 2011

Итак, есть ли простой способ скопировать файл * .properties в точное место в * .jar с Maven или как лучше всего с ним справиться?

Помните, что JARфайлы - это просто ZIP-архивы с другим расширением.Вы можете "разархивировать" JAR и добавить любые файлы, которые вы хотите программно, например, файл свойств, если хотите.Затем вам просто нужно снова сжать все обратно, и JAR должен работать как положено.

Хитрость в этом решении заключается в том, что вы используете Maven для управления зависимостями, что усложнит или затруднит манипулированиеJAR для вашего проекта.В этом случае Ant был бы твоим другом.

В любом случае, я не думаю, что это лучшее решение в любом случае.Плюс я не люблю критиковать Мейвена.;)

Я думаю, что правильно сделать, это добавить собственную версию файла whatever.properties в ваш собственный проект.Если вы поместите в папку src/main/resources ту же структуру пакета, что и библиотека Jazzy, она должна найти ее правильно во время выполнения.

Так что, если Jazzy хранит файл свойств в пакете com.jazzy.propsПоместите файл в свой собственный проект, например, так ...

<project.root>/src/main/resources/com/jazzy/props/whatever.properties

На самом деле я не пробовал, но теоретически это должно работать.Удачи!

1 голос
/ 21 июня 2011

Вот теория: Jazzy хранит файлы свойств вместе с исходными файлами Java ( Пример ). Это не так, как Maven обрабатывает вещи. Maven считает, что такие ресурсы находятся под src/main/resources.

Так что, я думаю, кто бы ни делал порт Maven, он забыл добавить папку src / main / java в качестве папки ресурсов (что нужно сделать, если вы храните ресурсы вдоль файлов java):

<resources>
    <resource>
        <directory>src/main/java</directory>
        <!-- or whatever the source dir is called -->
        <excludes>
            <exclude>**/*.java</exclude>
        </excludes>
    </resource>
    <!-- also add src/main/resources if you need it -->
</resources>

Так что я думаю, что вам лучше всего подать ошибку и попросить их включить этот конфиг.

0 голосов
/ 29 июня 2011

Поскольку jazzy является открытым исходным кодом, он был разветвлен и включен в RText, который является другим проектом с открытым исходным кодом. У меня возникла потребность в RText (который строится с помощью Ant) для использования в другом проекте maven с открытым исходным кодом (SQuirrel SQL Client), поэтому я обратился к Sonatype за разрешением использовать net.sf.jazzy groupId. Поскольку в выпуске RText есть исправления ошибок и другие моды, мы решили использовать «специальный» versionId (0.5.2-rtext-1.4.1), который (надеюсь) будет указывать, что эта версия не была «официальной». джазовый выпуск версии 0.5.2, а точнее тот, который был поставлен с версией RText 1.4.1. К сожалению, я пропустил ресурсы (файлы свойств конфигурации и перевода), когда готовил первый выпуск. Я исправил это, выпустив еще один релиз, который доступен здесь: http://repo1.maven.org/maven2/net/sf/jazzy/jazzy/0.5.2-rtext-1.4.1-2/.

0 голосов
/ 17 июня 2011

Если используется регистратор, вы можете просто отключить этот регистратор.

...