簡體   English   中英

如何構建“Thinking in Java”示例文件以在 Eclipse IDE 中運行?

[英]How to Build “Thinking in Java” Example Files to Run in Eclipse IDE?

我想學習 Java,正如我從 mindviewinc.com 下載的“Thinking in Java”電子書和源代碼示例課程文件的大多數人所推薦的,它的下載位置是http://www.mindviewinc.com/TIJ4/CodeInstructions。 html

由於某些原因,這些文件不適用於 Eclipse IDE。 所以我們必須使用包含在它的源代碼中的 Build.xml 文件來構建文件(老實說,我不知道這里的“構建”是什么意思)

我嘗試自己構建但沒有用..它確實開始構建但是在到達某個文件夾后它停止並在安裝 jboss-osgi-installer-1.0.0.jar 時出錯..下載后,我不知道該怎么做有了它,所以我雙擊它,它詢問我安裝的位置,我將它安裝在默認位置,即 C:\\Users\\Username/jboss-osgi-1.0.0,當我嘗試 C:\\Program Files 時\\Java* *安裝報錯“此目錄無法寫入,請選擇其他目錄!” 但無論如何我將它安裝在默認位置並安裝了..

當我再次嘗試構建它時,它給了我同樣的錯誤並要求安裝 Jboss ......我被卡住了......這一次又一次地發生,浪費了很多天,甚至沒有超過 100由於這個原因,它的頁面是pdf。 不過這是一本不錯的電子書。

我被困在這數月......請一些一個構建它,讓它像它可以很容易地送我的項目文件的項目,這將是非常贊賞,因為我不能在解決了搜索引擎這個任何地方..

好的,這是我成功導入在代碼示例的“accesss”文件夾中找到的源代碼的操作:

  1. 按照 Bruce 的說明從這里下載 javassist jar:

http://repo2.maven.org/maven2/javassist/javassist/3.9.0.GA/javassist-3.9.0.GA.jar

  1. 您必須為用作大多數示例的依賴項的源創建一個 Eclipse 項目,即“net”文件夾中的源:

    • 在 Eclipse 中創建新的 Java 項目。
    • 選擇“net”目錄,復制它,然后在eclipse中選擇剛剛創建的項目中的“src”條目,右鍵單擊它並選擇paste。
    • eclipse 完成並自動構建后,它會抱怨缺少 javaassist jar。 右鍵單擊項目-> 屬性-> java 構建路徑(在左側)-> 庫(在頂部)-> 添加外部 jars...(在右側),瀏覽並選擇您所在位置的 javassist jar加載它。
    • 現在“net”項目在 eclipse 中應該沒問題
  2. 現在讓我們為“access”文件夾中的源創建項目:

    • 在eclipse中新建一個java項目
    • 現在,因為布魯斯像廢話一樣構建他的類,我們必須在 eclipse 中為他們制作正確的結構。 這意味着: a. 創建一個名為“access”的新包
    • 轉到驅動器上訪問文件夾的位置,打開它,僅選擇文件夾(cookie2,desser,mypackage),復制它們,然后返回到 eclipse,右鍵單擊您剛剛創建的“訪問”包,然后單擊粘貼
    • 現在回到驅動器上的訪問目錄,僅選擇 .java 文件(所有這些文件,而不是目錄),復制它們,回到 eclipse,單擊訪問項目中的 src 條目並單擊粘貼。
  3. elcipse 中的訪問項目仍然會抱怨從“網絡”資源中缺少類。 在eclipse中右鍵項目->properties->java build path->projects(在最上面)-> add(在右邊)->檢查你之前創建的net project->點擊ok兩次。

現在應該可以了

我希望您通過這個示例了解了 Eclipse 中的依賴項是如何工作的。

對於代碼示例的其他部分,創建單獨的 Java 項目,將類添加到適當的包中(如果 Bruce 忘記了,則創建包),如果缺少外部 jar,請訪問http://search.maven.org搜索並下載罐子。 祝你好運

“此代碼旨在在 IDE 之外工作。因為包是在后面的章節中介紹的,而且一些像 Eclipse 這樣的高級 IDE 要求所有代碼都在包中,如果你想在這些 IDE 中使用代碼,你將不得不做一些調整”——是的,布魯斯·埃克爾會這么說,因為他就是那種人。 他還說,java 中只有受檢查的異常,並要求添加未經檢查的異常作為獎勵。

現在,如果您的示例代碼沒有包,也就是在默認包中,也就是當您查看 .java 文件時,在頂部沒有一行說“package what.ever.bla”,那么您所要做的就是:

- 在 Eclipse 中創建一個新的 Java se 項目 - 打開 Windows 資源管理器,轉到 .java 文件,選擇它們並復制它們 - 然后在 Eclipse 中,右鍵單擊項目中的 src 文件夾並選擇“粘貼”

這些文件應該添加到 eclipse 項目中的“默認”包中,沒有任何錯誤

以下是我發現為 TIJ4 源代碼創建一個干凈的 Eclipse 項目的最簡單步驟:

  1. http://www.mindviewinc.com/TIJ4/CodeInstructions.html下載源代碼 zip,並將其解壓縮到一個文件夾中,例如“TIJ4-code”;
  2. 像前面的 URL 一樣下載附加庫,從當前 JDK 的 lib 目錄中復制 tools.jar,並將它們放入 TIJ4-code/lib;
  3. 進入“TIJ4-code”文件夾,然后運行“python Eclipse.py”(您需要在系統上安裝python)。 該腳本將缺少的“package xxx”行添加到那些還沒有它們的源 java 文件中,以使 Eclipse 滿意。 它還生成 Eclipse 項目文件,由於某種原因,它不能很好地工作(超出我對 Eclipse 的有限知識),但這里不需要它們;
  4. 打開 Eclipse 並創建一個新的空 java 項目,命名為“TIJ4”,選擇 JRE 版本 1.5,並“為源文件和類文件創建單獨的文件夾”;
  5. 將 TIJ4-code/lib 目錄復制到新的 Eclipse 項目文件夾;
  6. 右鍵單擊新項目並選擇“Build Path”>>“Configure Build Path”,然后轉到選項卡“Libraries”,“add jars”,然后選擇項目lib文件夾下的所有jar;
  7. 轉到“文件>>導入”,選擇“常規>>文件系統”,選擇解壓后的文件夾“TIJ4-code”作為“來自目錄”。 檢查導入窗口左側面板中的根'TIJ4-code',單擊“過濾器類型”並選擇.java,以便其他擴展名的不必要文件,如*.class、*.py、*.xml、導入過程中可以忽略等;

構建新的 Eclipse 項目后不再需要壓縮文件夾。 我希望您發現此說明對您有所幫助,並在學習 TIJ4 時玩得開心。

如果您想在 IDE 而不是 Eclipse 等中使用此代碼,例如在Intelij Idea或任何其他中,最好的方法是使用 Ant 從 TIJ4 編譯必要的類,但對於初學者來說並不容易,盡管它對你來說將是一個很好的做法。 您應該對存在於 TIJ4 的每個目錄中的 build.xml 文件進行一些更改。 為什么?

  • 更改Java版本(現在我們都使用高於1.5的Java版本)
  • 在“類路徑”中包含 javaassist.jar 庫
  • 將所有編譯的文件放在“bin”目錄中(默認情況下,TIJ4 build.xml 將 .class 文件與 .java 文件放在同一目錄中。這不是一個好交易。

例如,您需要在 IDE(我使用 Intelij Idea)中導入和使用名為 net.mindview.util.Print 的類(請參閱第 3 章):


  1. 下載 TIJ4 並解壓到您想要的任何目錄中(例如它是 c:\\eckel)
  2. 下載並安裝 AntApache(您可以在 Google 中找到詳細說明) 結果是 - 在您的控制台中輸入 ant -version,您應該會看到答案。 所以螞蟻正在工作。
  3. 從 http://jboss-javassist.github.io/javassist/ 下載 javaassist.jar。 解壓到任意目錄,取出javassist.jar 粘貼到c:\\eckel\\net

4. c:\\eckel\\net 中有 build.xml 文件 現在您應該進行調整。 用 NotePad++ 或其他編輯器打開它。

  • 如果您的 PC 上沒有安裝 Java 1.5,請將所有“vesion1.5”更改為“vesrion1.8”或您已安裝的其他版本。
  • 標簽描述后 put property name = "classpath" value="./;./javassist.jar"/> <property name = "src_util" value="./mindview/util"/> <property name = "src_simple" value="./mindview/simple"/> <property name = "src_atunit" value="./mindview/atunit"/> <property name = "destdir" value="bin"/>然后我們制作將編譯util的目標simple 或 atunit 自動
  • 更改標簽可用<available classname="javassist.bytecode.ClassFile" classpath="${classpath}" property="javassist" />
    現在可用 = 屬性的類路徑名為“類路徑”。 Classpath 是 java 編譯器查找 .class 文件的路徑,因為您的某些 .java 文件通過導入語句需要它們。 不會再出現“您必須安裝 Javassist 庫”的錯誤消息
  • 創建用於編譯 util simple 等的目標代碼見以下鏈接帶有目標的代碼
    您可以修改exists 目標而不是編寫所有代碼。
  • 在 build.xml 文件的頂部更改 default="simple"
  • 打開 cmd,然后 cd c:\\eckel\\net ,然后是 ant -simple 或只是 ant (simple 將默認運行)
    如果您遇到一些問題,請寫下來。 可能我忘了提某事。
  • 轉到 Intellij Idea,按 Ctrl+Alt+Shift+S
  • 按 +,
  • 圖書館或目錄
  • 選擇你的 c:\\eckel\\net\\bin
    5.現在你可以對net.mindview中存在的所有類使用import語句
    6.你可以用其他目錄做同樣的事情。

如果您希望跳過整個 Ant 構建過程,我已將項目轉換為 Maven 項目(通過 JDK8),您可以簡單地將其導入 Eclipse 工作區。

https://github.com/gauravojha/tij4-maven

感謝@Sergey Oliv 的例子。 此外,我還需要提供未編譯的 javaassist 包以及“net”文件夾中的所有 java 文件。 .jar 不能單獨工作。

我必須說,這是一項艱巨的工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM