Ошибка "MANIFEST.MF уже существует в VFS" при создании нового артефакта
У меня есть проект Java, с которым я мог строить артефакты, но теперь я не могу.
Сначала мой проект строился, и мне удалось создать артефакты, но при запуске .jar
я получал "Java Exemption Error"
. Я проверил, какую версию компилятора я использовал (1.8)
, и убедился, что моя машина обновлена.
Далее я попытался исправить любые проблемы с зависимостями, удалив и повторно связав некоторые из моих внешних файлов .jar
.
Затем я удалил параметр артефакта и попытался создать новый. Теперь я получаю
.../MANIFEST.MF уже существует в VFS
при попытке создать новый артефакт.
Я использую последнюю версию Intellij.
Мой исходный код можно найти здесь: https://github.com/mjtik/PiccoApp.
При необходимости я могу предоставить снимки экрана.
* Я создал много .jars в прошлом, не знаю, что изменилось в моем проекте.
Любые предложения или рекомендации будут оценены.
Ответы
Ответ 1
Я решил свою проблему. Когда-либо шаг я отвел меня к решению. Проблема заключалась в том, как я создавал новый артефакт.
При создании нового артефакта я выбрал JAR, а затем всплывающее окно отображает настройки по умолчанию. У меня есть модуль приложения, и основной класс ниже пуст.
Я выбирал основной класс, и он вызывал ошибку. Когда я только что принял параметры по умолчанию, оставил основной класс пустым, был создан артефакт.
Ответ 2
Другим решением было бы просто:
- Перейдите в $HOME $\ IdeaProjects\ProjectFolder\src\META-INF и удалите там файл MANIFEST.MF.
- Перезапустить IntelliJ Idea
- Перейти к структуре проектa > Артефакты → удалить настройку артефакта проекта
- Добавьте новую настройку артефакта и измените конфигурацию по мере необходимости.
Ответ 3
Я унаследовал проект, у которого уже был файл MANIFEST.MF
в папке META-INF
в папке src
. Но в этом проекте не было артефакта, настроенного в диалоговом окне структуры проекта. Я также не думаю, что удаление существующего файла и перезапуск Idea - идеальное решение этой проблемы.
Ниже перечислены действия, которые были сработаны для меня, и это было сделано в Intellij Idea 2016.1.
Шаг 1: Выберите "Пусто", если вы хотите добавить артефакт, чтобы создать файл JAR
с существующим файлом MANIFEST.MF
. Сделайте НЕ выбор из модуля с зависимостями, так как это приведет к ошибке, описанной в вопросе.
![Шаг 1]()
Шаг 2:. На следующем экране выберите кнопку Использовать существующий манифест, чтобы перейти к существующему файлу MANIFEST.MF
и выбрать его. Внесите необходимые изменения, чтобы артефакт JAR
был создан в соответствии с вашими потребностями.
![Шаг 2]()
Шаг 3: Выберите "ОК", и теперь все должно быть установлено. В зависимости от того, вы выбрали сборку на make и сделаете свой проект, или если вы специально создадите артефакт, ваш JAR
будет создан без каких-либо проблем.
![Шаг 3]()