我有一个Java项目,我曾经能够从中构建工件,但现在我无法做到。
首先,我的项目正在构建,我能够创建工件,但在运行.jar
时,我得到"Java Exemption Error"
。我检查了我使用(1.8)
的编译器的版本,并确保我的机器是最新的。
接下来,我尝试通过删除和重新关联某些外部.jar
文件来修复任何依赖项问题。
然后我删除了工件设置并尝试创建一个新设置。现在我收到了
尝试创建新工件时出现... / MANIFEST.MF已存在于VFS
中
错误。
我正在使用最新版本的Intellij。 我的源代码可以在这里找到:https://github.com/mjtik/PiccoApp。
如有必要,我可以提供截屏。
*我过去创建过很多.jars,不知道我的项目有什么变化。
任何建议或指导都将不胜感激。
答案 0 :(得分:40)
我解决了我的问题。我曾经带领我走向解决方案。问题在于我是如何创建新工件的。
创建新工件时,我选择了JAR,然后弹出窗口显示默认设置。它选择了我的app模块,下面的主要类是空白的。
我正在选择主类并且它产生错误。当我刚接受默认选项时,主类空白,创建了工件。
答案 1 :(得分:27)
另一个解决方案就是:
答案 2 :(得分:11)
我继承了一个项目,该项目已在MANIFEST.MF
文件夹的META-INF
文件夹中包含src
文件。但是该项目没有在项目结构对话框中配置工件。我也不认为删除现有文件并重新启动Idea是解决此问题的理想方法。
我在下面列出了对我有用的步骤,这些步骤是在Intellij Idea 2016.1上完成的。
步骤1 如果要添加工件以创建包含现有JAR
文件的MANIFEST.MF
文件,请选择清空。 不选择来自具有依赖关系的模块,因为这将导致问题中描述的错误。
第2步:在下一个屏幕中,选择使用现有清单按钮以导航并选择现有的MANIFEST.MF
文件。现在进行您需要的任何其他更改,以便根据您的需要创建JAR
工件。
第3步:选择确定,您现在应该全部设置好。根据您是否选择了make on build并制作项目,或者您是否专门生成工件,您的JAR
将被创建而不会出现任何问题。
答案 3 :(得分:3)
我使用“从模块创建工件”。如果我收到存在的清单的通知,我删除清单文件,然后执行“使缓存无效并重新启动”。我认为Intellij正在抱怨缓存中的那个文件的副本。