创建新工件时出现错误“MANIFEST.MF已存在于VFS中”

时间:2015-07-02 16:02:38

标签: java intellij-idea

我有一个Java项目,我曾经能够从中构建工件,但现在我无法做到。

首先,我的项目正在构建,我能够创建工件,但在运行.jar时,我得到"Java Exemption Error"。我检查了我使用(1.8)的编译器的版本,并确保我的机器是最新的。

接下来,我尝试通过删除和重新关联某些外部.jar文件来修复任何依赖项问题。

然后我删除了工件设置并尝试创建一个新设置。现在我收到了

  

... / MANIFEST.MF已存在于VFS

尝试创建新工件时出现

错误。

我正在使用最新版本的Intellij。 我的源代码可以在这里找到:https://github.com/mjtik/PiccoApp

如有必要,我可以提供截屏。

*我过去创建过很多.jars,不知道我的项目有什么变化。

任何建议或指导都将不胜感激。

4 个答案:

答案 0 :(得分:40)

我解决了我的问题。我曾经带领我走向解决方案。问题在于我是如何创建新工件的。

创建新工件时,我选择了JAR,然后弹出窗口显示默认设置。它选择了我的app模块,下面的主要类是空白的。

我正在选择主类并且它产生错误。当我刚接受默认选项时,主类空白,创建了工件。

答案 1 :(得分:27)

另一个解决方案就是:

  1. 导航到$ HOME $ \ IdeaProjects \ ProjectFolder \ src \ META-INF并删除其中的MANIFEST.MF文件。
  2. 重启IntelliJ Idea
  3. 转到项目结构>文物 - >删除项目工件设置
  4. 添加新工件设置并根据需要重新配置。

答案 2 :(得分:11)

我继承了一个项目,该项目已在MANIFEST.MF文件夹的META-INF文件夹中包含src文件。但是该项目没有在项目结构对话框中配置工件。我也不认为删除现有文件并重新启动Idea是解决此问题的理想方法。

我在下面列出了对我有用的步骤,这些步骤是在Intellij Idea 2016.1上完成的。

步骤1 如果要添加工件以创建包含现有JAR文件的MANIFEST.MF文件,请选择清空选择来自具有依赖关系的模块,因为这将导致问题中描述的错误。

Step 1

第2步:在下一个屏幕中,选择使用现有清单按钮以导航并选择现有的MANIFEST.MF文件。现在进行您需要的任何其他更改,以便根据您的需要创建JAR工件。

Step 2

第3步:选择确定,您现在应该全部设置好。根据您是否选择了make on build并制作项目,或者您是否专门生成工件,您的JAR将被创建而不会出现任何问题。

Step 3

答案 3 :(得分:3)

我使用“从模块创建工件”。如果我收到存在的清单的通知,我删除清单文件,然后执行“使缓存无效并重新启动”。我认为Intellij正在抱怨缓存中的那个文件的副本。