Eclipse“错误:无法find或加载主类”
我有一个项目在我的笔记本电脑上的Eclipse,我推到Git https://github.com/chrisbramm/LastFM-History-Graph.git
它完全在我的笔记本电脑上运行,并运行/构build没有问题,但在我的桌面上,Eclipse不会给出错误
错误:无法find或加载主类lastfmhistoryguis.InputPanel
我已经尝试从以下项目构build项目:
Project>Build Project
但没有发生。 我已经将这台计算机上的PATH
variables设置为JRE6,JRE7和JDK 1.7.0,即使这些variables没有在我的笔记本电脑上设置。
我有我的.classpath
文件中的Jar文件( last.fm-bindings-0.1.1.jar ),该文件位于我的笔记本电脑上的C:\ Users \ Chris \ Downloads文件夹中,因此它不包含在git树中我最近把它带进了项目文件夹并承诺,但我不确定我是否做得对。 这也会造成一个问题,但是这里没有主要的论点。
我现在不能工作,我需要检查/改变。
在你的类path中,你正在使用一个绝对path,但是你已经把项目移到了一个新的机器上,而且很可能有不同的文件结构。
因此,在你的类path中,你应该使用相对path(也许在一般情况下,如果你要将JARS与你的项目捆绑在一起)
在你的.classpath改变
<classpathentry kind="lib" path="C:/Users/Chris/Downloads/last.fm-bindings-0.1.1.jar" sourcepath=""/><classpathentry kind="lib" path="C:/Users/Chris/Downloads/last.fm-bindings-0.1.1.jar" sourcepath=""/>
至
<classpathentry kind="lib" path="last.fm-bindings-0.1.1.jar"/>
如果使用public static void main(String[] args)
创build一个java类,那么Eclipse将通过右键单击文件本身或项目资源pipe理器中的文件来运行该主方法,然后select:
“运行方式” – >“Java应用程序”。
一旦你这样做,Eclipse存储关于你的类的信息,所以你可以很容易地从Run As菜单(工具栏上的绿色播放button)或Run Configurations对话框中运行该类。
如果你随后移动Java类(手动,或者然而),然后再select
“运行方式” – >“Java应用程序”
Eclipse将从新的位置运行原始存储的configuration,尝试从其原始位置调用此类,这会导致此错误。
对我来说,修复是去运行configuration,(绿色播放button – >运行configuration),并删除所有对类的引用。 下一次你跑步
“运行方式” – >“Java应用程序”
Eclipse将为移动的类编写一个新的configuration,错误将消失。
tl; dr :清理整个构buildpath以及手动添加的所有内容。 这包括其他来源,项目,图书馆。
- 项目 – >清洁
- 确保项目 – >生成自动激活
- 项目 – >属性 – > Java构buildpath – >库: 删除您添加的任何外部库 。 不要删除像JRE系统库这样的标准库。
- 尝试现在运行你的主要类。 “class not found / load”错误应该消失了。 尝试添加你的外部库/jar一个接一个。
背后的原因:编译器有问题链接库到项目。 它失败了,并产生了错误的错误信息。
在我的情况下,它应该是像“无法将AutoHotkey.dll添加到构buildpath”,因为这是编译器失败。
如果这仍然不起作用,请查看Eclipse的内置ErrorLog :
窗口 – >显示视图 – >常规 – >错误日志
我花了将近一个小时后,在我的maven webapp项目中遇到类似的问题,我find了一个解决scheme,为我工作。我input了下面的maven命令,它工作
mvn干净安装-U
我不知道背后的确切原因。
我假设你已经导入到你的桌面eclipse安装项目? 如果是这样的话,你应该selectProject> Clean。 然后重build你的项目。 为我工作就像一个魅力。
我做了上面提到的所有事情,但没有一个为我工作
我的问题在下面解决。
右键单击您的项目>>属性>> JavaBuildPath >>库。
取下上面有红旗的jar子。
如果您仍然遇到问题,请尝试下面的解决scheme,这对第二次遇到此问题时适用于我:
右键单击项目>>属性>> Java构buildpath>>库,删除并添加库。 (selectJRE系统库)
通过以下任一方式检查您的项目是否具有构build器:
- 检查项目属性(在“包资源pipe理器”,右键单击项目,select“属性”),那里第二部分是“build设者”,它应该保持默认的“Java Builder”
- 或者查看“.project”文件(在… / workspace / yourProjectName / .project中)“buildSpec”部分不应该为空。
必须有其他的方式,但我做的是:
- closures日食
- 编辑。“项目”文件以添加“buildSpec”部分
- 重启eclipse
适当的最小Java“.project”文件应该如下所示:
<?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>myProjectName</name> <comment></comment> <projects> </projects> <buildSpec> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments> </arguments> </buildCommand> </buildSpec> <natures> <nature>org.eclipse.jdt.core.javanature</nature> </natures> </projectDescription>
类似的事情发生在我身上几次,我知道解决这个问题的唯一方法是删除元数据文件夹。 幸运的是,我find了另一种方式。
尝试去项目属性> Java构buildpath>订单和导出选项卡>全选 (或尝试玩checkbox那里)。
这应该导致完成项目重build和Eclipse看到主类。
另外:我注意到,当你在一个工作空间中有很多项目,并且其中一些configuration错误(红色的感叹号出现),就会发生这个错误。 修复项目构buildpath和其他设置(即使这个项目与你有问题的项目没有关系)应该解决一个问题。
那么以下为我工作…
- 进入项目文件夹(
workspace
区内) - 然后,删除
bin
文件夹 - 然后,清理项目/项目(在Eclipse中)
- 从Eclipse构build/运行。
我有同样的问题,并解决它使用:
Eclipse Mars Egit Github Maven Project
问题是我把我的maven项目提供给github。 它将我的项目移动到我的github文件夹。
解:
- closuresEclipse
- 删除工作区内的元数据文件夹
- 重新启动Eclipse
将显示开始屏幕。
- closures开始屏幕
- 右键单击包资源pipe理器
- select“importmaven项目”,
- 导航到你的github文件夹并导入maven项目。
在此之后,我的项目编译成功。
我遇到了同样的问题,但在我的情况下,这是由于缺less(空)源文件夹(它存在于原始项目,但不是在GIT存储库,因为它是空的)。
创build丢失的文件夹后,一切正常。
我也收到了这个错误,只是在移动一些资源之后。 检查错误日志,我看到Eclipse无法进行生成,因为它无法删除文件/文件夹。 尝试手动删除“bin”(或任何它所要求的)文件夹。
至less,这对我来说是个诀窍。
当您的工作区path中有特殊字符时,也会导致此问题。 我在我的个人文件夹中有我的工作区,它的名字是希腊语,所以它没有工作。 我改变了我的工作空间,现在只包含英文字符,现在这个工程没有任何问题。
我今天遇到了这个错误,因为我build立了一个hello world程序,然后把一个新程序剪切并粘贴到同一个文件中。 为了解决最后被称为没有find你好世界的问题,我点击了运行 – >运行configuration,然后在主类下,我点击search,它发现我的新类名称,并replace为正确的新名称在我粘贴的文本。 这是我知道的一个新手问题,但也很容易解决。 我希望这可以帮助别人! 道格拉斯
我有正确的.classpath文件相同的问题,很快发现实际上不是.classpath文件计数(我解决了这个问题后,我用原来的replace可行的.classpath文件,该项目仍然工作,这意味着。 classpath文件并非如此)
由于这是一个Maven项目,我所做的只是:
- mvn eclipse:干净
- 删除eclipse项目
- 导入项目
- DONE
希望能帮助到你!
如果您正在使用eclipse,那么以下步骤将解决您的问题:
进入运行 – >运行configuration – >主类search – >手动定位你的类 – >应用 – >运行
我有同样的问题。 花了几个小时,最后把我的工作区改回本地文件夹,现在一切正常。 也许为别人节省一些时间。 乔恩
我有这个错误。 这是因为我有static void main(String[] args)
而不是public static void main(String[] args)
我花了近一个小时试图弄清楚。
注:唯一的区别是我没有宣布main
是public
我的Main class
无法find或加载问题是由一个有趣的原因造成的。
在我们的项目中,我们使用Maven
作为构build工具,而我的main class
extends
了一个类,它在class path
但是它的作用域是test
,而main class
不在testing包下。
如果你的主类extends
了一个类,首先通过移除extends
部分来运行你的main class
。 如果运行,你至less会明白,问题不是因为run configuration
或eclipse
而是类,你的main class
extends
。
大多数情况下会发生这种情况,因为Eclipse会清除.class
文件,但不会再次构build它们。 检查bin
文件夹,它应该是空的。 那么你应该检查,还有什么其他的,这是造成build设失败。 您可能在classpath中添加了一些jar,Eclipse可能找不到。
尝试在更改configuration或重新安装之前重命名软件包。
我得到这个奇怪的错误没有改变任何东西比几行代码。 重build不起作用,即使bin文件夹为空,Eclipse也不会重新创build类。 将testing包重新命名为test1后,Eclipse开始重build,一切正常。
在刚刚发生Windows 8拒绝更新path的问题之后,我刚刚遇到了这个问题,无论我将JAVA_HOME设置为什么 – java -version报告了最后一个JDK,而不是我存储在JAVA_HOME中的那个JDK。 我终于通过把'%JAVA_HOME%/ bin'来工作。 在path环境variables的前面,而不是在最后。 然后,我启动了Eclipse,突然之间,它找不到我的主要类,当它在此之前罚款。 我所做的修正是进入项目属性,从库选项卡中删除现有的JRE库,通过select“添加库”button添加一个新的JRE,然后按照提示安装JRE 7作为我的默认JRE。 现在一切都回到工作。
我发现在我的情况下,其他的解决scheme这个问题: Eclipse->Preferences->Java->Installed JRE
然后按buttonsearch。 在Linux /usr
select文件夹,然后Eclipsefind所有的JVM。
select另一个JVM也是最新的 。 这是解决我的情况。
只要进入你的包资源pipe理器,然后按F5,或对于一些笔记本电脑FN + F5。 原因是eclipse认为这些文件是在某处,但是文件实际上是在其他地方。 刷新它,你把他们都在同一页面上。 不要担心,你不会失去任何东西,但是如果你想要特别小心,只需要把你的java项目文件夹中的文件备份到安全的地方。
在我的项目中创build新的包(“表”)后,我遇到了同样的问题。
我去了Window -> Show View -> General -> Error Log
,我读错误:
JavaBuilder handling ImageBuilderInternalException while building: PizzaService org.eclipse.core.internal.resources.ResourceException: Resource '/PizzaService/bin/tables' already exists.
因为事实certificate,我在另一个源文件夹中有一个与这个新软件包同名的文本文件。 所以我已经把文本文件名从“Tables”改为“Tabless”,我可以再次运行我的项目。
希望这可以帮助。
我面对同样的错误,错误是在一个导入的外部jar子。 删除后,该项目为我工作。
当我将安装的JRE更改为JDK7而不是JRE7时,发生在我身上。 编译的所有东西,但我不能从Eclipse运行任何东西“eclipse-error-could-not-find-or-load-main-class”
固定; 回到之前的JRE7。
使用Ctrl + Shift + R(Windows)重命名该类,它将改变引用的类的名称,然后执行相反的过程。 在我的情况下,它是由环境中几个项目中相同的类名造成的,Eclipse很难理解哪个是哪个。
按照步骤工作对我来说:1.Remove从eclipse(构buildpath)configuration构buildpath2.刷新3.addconfiguration构buildpath – >源 – >添加文件夹 – >检查SRC确定。
这些简单的步骤帮助我解决了这个问题。
- closures日食
- 删除工作空间中的“.metadata”文件夹。 (可能是隐藏文件夹)
- 打开eclipse(它会自动在您的工作空间中创build“.metadata”文件夹)
- 尝试运行该程序。