2012-06-06 183 views
2

我想創建一個包下歸併排序,但它說:源文件夾不是Java構建類路徑,創建Java包

源文件夾不是在Java構建類路徑

enter image description here

所以我用鼠標右鍵單擊分類文件夾,並嘗試將其添加到Java構建類路徑。但是隻有選項存在排除,所以這意味着它應該已經包含在類路徑中。 enter image description here

那麼如何在排序下創建包?

編輯:

添加的.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

發佈項目的.classpath文件的內容。有些東西看起來不正確。 – nitind

+0

@nitind我將它添加到我的第一篇文章 – Jaanus

回答

5

從「src」文件夾本身的上下文菜單中執行此操作。 「源文件夾」從字面上看,表示在Java Build Path中指定的源文件夾,而不僅僅是恰好包含源的某個文件夾。 Name字段需要「合適的包名稱」中的「這是它將聲明的.java文件中的實際」。如果您只是想在那裏創建一個新文件夾,然後創建一些新的.java文件,則可以使用新建文件夾嚮導。

編輯:另外,請記住,項目和包資源管理器視圖之間的包演示文稿設置(從視圖的本地菜單 - 倒置三角形設置)可能會有所不同。如果事情看起來與你想要的方向相反,則根據你的看法進行調整。

+0

我沒有跟隨,所以我不能做什麼,我想與包的權利?只有文件夾? – Jaanus

+0

從src文件夾的上下文菜單中執行此操作,併爲名稱使用您在源文件中放入的實際值。 – nitind

+0

所以我右鍵單擊src並按添加包?我試過,創建了打包的命名合併,但它只是位於排序文件夾旁邊,我無法將它移動到排序文件夾中。 – Jaanus

1

在默認的源文件夾並將其命名爲sort.merge

1

你是否已經創建的合併包只需創建一個包。也許你可以選擇eclipse不顯示空包。如果您創建了它,只需右鍵單擊MergeSort.java文件>重構>移動並在排序中選擇新的合併包。這將在那裏移動文件,eclipse將顯示包。或者,如果您還沒有創建合併包,請執行以下操作:創建一個文件夾(而不是包)算法/ src/sort/merge。然後在日食樹中找到它>右鍵單擊它>構建路徑>用作源文件夾

Btw。你只排除上的排序包,因爲它已經在構建路徑上(至少在截圖)

歡呼

0

Java包的名稱約定定義了一段.標誌着一個子文件夾。因此lorem.ipsum.dolor.sit.amet將創建一個像lorem/ipsum/dolor/sit/amet這樣的文件夾結構。 Eclipse支持這種格式。因此,爲了創建「子包」,您需要在名爲sort.merge的源文件夾中創建一個包。這將自動創建所需的文件夾結構。

但是你是對的,我從來不明白爲什麼Eclipse沒有以反映底層文件夾結構的方式顯示包結構。也許有人可以闡明這個設計決策?

+0

您應該將它們看作包和類,這就是「平面」包裝表示所做的。底層內容可能是文件,也可能是一個jar文件。重點是它可以讓你用語言的概念而不是計算機的文件系統思考它。 – nitind

+0

@nitind好吧,如果你有一個沒有在項目視圖中組織的大包沙拉,那麼它是一個混亂的混亂。我不是一次能在所有包中工作,而只是在其中的一小部分。然後,我想盡可能地摺疊所有其他包。也許這只是我過時,但我認爲我還不夠老舊...... P – brimborium

+0

你*可以在項目中擁有更多的源文件夾。 – nitind