我有一個名爲"stdlib.jar"
的jar文件。這在"Default Package"
有很多類。我已將這個stdlib.jar
添加到我的NetBeans庫中。並且"Build"-ed
它不使用stdlib.jar
中的任何內容。因此,stdlib.jar
可以添加到我的"./dist/lib"
文件夾中。但是我仍然無法使用stdlib.jar
中的任何類我應該怎樣做才能重用stdlib.jar
中的任何類?在NetBeans中添加默認包的類
5
A
回答
3
對圖書館或甚至項目使用「默認包」包是非常不鼓勵的。 如果您使用默認包,那麼類名稱應該是唯一的,否則它們將覆蓋所有java.lang
類。
現在來談談你的情況。如果您已將其添加到庫中,請使用stdlib.jar
,那麼您應該可以使用它。 您可以使用您的stdlib.jar
從您正在使用它的項目的默認包。除了默認包以外,您不能使用它,因爲它會在該包中搜索您的stdlib.jar
類。
希望這可以讓你清楚。謝謝。
1
你正在使用Sedgewick的教科書,不是嗎?如果是,請閱讀常見問題解答:
問:如果使用命名包構造我的代碼,編譯器將無法再訪問stdlib.jar中的庫。爲什麼不?答:stdlib.jar中的庫位於「默認」包中。在Java中,您無法從命名包訪問默認包中的類。如果您需要使用我們的圖書館和一個叫包,您可以使用打包版本stdlib-package.jar
0
如果您使用的是塞奇威克教科書或算法當然在Coursera,這可能會有所幫助。
正如上面提到的,stdlib.jar中的庫位於DEFAULT PACKAGE中。在Java中,您無法從命名包訪問默認包中的類。 所以你必須將源文件移動到項目的默認包裝中。這意味着您必須將源.java文件從./src/YOURPACKAGE/文件夾直接移至項目的./src文件夾,然後刪除YOURPACKAGE文件夾。你也必須刪除「package YOURPACKAGE;」聲明在源文件的開頭。
基本上這就是你需要做的。現在,當您將源文件移動到默認軟件包並將「stdlib.jar」添加到庫時,從庫中尋址類時不會有任何問題。你不需要任何「導入」的說法。
相關問題
- 1. 默認添加NuGet包嗎?
- 2. 添加默認包導入
- 3. 如何在NetBeans for Mac中將類放入默認包中?
- 4. OpenCart:在默認頁面上添加左列(包含類別等)
- 5. 如何從默認包中導入java類的默認包
- 6. TYPO3的:添加類,默認內容包裝
- 7. 加載文件,netbeans的默認位置
- 8. wsimport -clientjar在(默認包)中生成類
- 9. Grails在netbeans中默認構建默認生產
- 10. 將View類添加到默認佈局
- 11. 向一組鏈接添加默認類
- 12. 將方法添加到默認類
- 13. 添加默認ngModelAttrs爲各類
- 14. 如何在MSVC++ 2012中添加默認包含路徑?
- 15. 在繼承ES6中的reactjs類時添加默認屬性
- 16. 從角度範圍中添加默認的類和類?
- 17. 添加列的默認值
- 18. 無法訪問默認包中的類
- 19. 在ggplot中添加默認標籤
- 20. 在IIS中添加默認路由
- 21. 在android中添加默認計時器
- 22. 默認添加4.0中的System.Core.dll?
- 23. Datagrid添加行默認添加空行
- 24. 在SmartGWT中將自定義CSS類添加到FormItem的默認類中
- 25. 訪問默認jFrame netbeans
- 26. 將對象的默認參數添加到類中的函數
- 27. JQGrid添加默認按鈕
- 28. AOSP - 添加默認Wifi SSID
- 29. 默認枚舉不添加
- 30. 添加默認值firebase
但它並沒有解決我的問題。我已將「stdlib.jar」添加到庫中。並試圖訪問其中的一個類。它無法找到該課程。 我能做什麼?請建議一些方法。我知道它可以通過從jar中提取類然後將該java文件添加到源代碼來完成。但我不想這樣做。因爲我可能還需要其他類的「stdlib.jar」。「 –
如果你有默認包中的類,你可以只從默認包中訪問它們,你不能做任何其他的事情.. – pratikabu
謝謝,剛剛解決它。然後看到你的帖子。 –