2012-01-04 97 views
2

我一定做了一些非常愚蠢的事情,這導致了以下情況。基本上,在我編譯過成功編譯好的代碼之後,所有的.class文件都突然被放入了.java文件所在的包文件夾中。一些.class文件甚至有像名字那樣的數字。Eclipse編譯在包文件夾中放了很多.class文件

ClassName.java 
ClassName.class 
ClassName$1.class 
ClassName$2.class 
ClassName$3.class 
ClassName$4.class 

它在導航器中看起來很亂,重建或清理項目不會使這些文件消失。

最後的代碼改變我做了,它現在已經恢復了在類靜態字段:

static { 
    if (System.getProperty("os.name").startsWith("Mac OS X")) { CONTROL_PANEL_WIDTH = 225; } 
    else { CONTROL_PANEL_WIDTH = 180; } 

System.out.println(System.getProperty("os.name")); // this is what I added; perhaps it was stupid 
} 

我一定做了一些愚蠢的。你能幫忙嗎?

+0

清理項目只是從包文件夾中刪除.class文件,然後再次將它們添加回來。 – TomaszRykala 2012-01-04 10:20:37

+0

所以你在'src /'而不是'bin /'下獲得類文件?這是一個項目設置錯誤,與代碼無關。你是否改變了代碼之外的其他內容? – Viruzzo 2012-01-04 10:24:32

+0

這一定是它。我不認爲我改變了任何東西,除非我做了一些不自主的鍵盤快捷方式或任何其他的東西,但是,我沒有bin文件夾了。我會嘗試調查項目設置。 – TomaszRykala 2012-01-04 10:28:16

回答

4

您可能已切換您的類的默認輸出文件夾,可以通過右鍵單擊您的項目來修復 - >Properties - >Java Build Path - >選項卡Source - >Default Output folder(將其設置爲<ProjectName>/bin

你也可以檢查.classpath文件在您的工作空間,其必須看起來像這樣(輸出文件夾的路徑相對存儲):

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 
    <classpathentry kind="output" path="bin"/> 
</classpath> 
+0

就是這樣!出於某種原因,bin文件夾變爲了AWOL。我重新創建了它,將其設置爲輸出文件夾,並注意到我的新.class文件已經放在那裏編譯。之後,我從源文件夾中刪除了.class文件,並且我的項目不受此影響。歡呼聲! – TomaszRykala 2012-01-04 10:35:39

1

右鍵單擊您的項目。選擇構建路徑/配置構建路徑。選擇源選項卡。確保默認輸出路徑不是您的/ src文件夾。

不知怎的,你或eclipse設法丟失了編譯器的輸出文件夾。

+0

是的,我的bin文件夾已經失效了。我已經重新創建並設置爲輸出文件夾。謝謝你的幫助。 – TomaszRykala 2012-01-04 10:36:33

2

右鍵單擊您的項目,然後單擊屬性

搜索Java構建路徑,

點擊源,這裏就有的配置,其中類必須

不要選中「允許輸出文件夾的源文件夾「,並檢查下面的路徑是否良好

+0

這不好:)感謝您的幫助。 – TomaszRykala 2012-01-04 10:36:50