這聽起來可能是一個奇怪的問題,但它就是這樣。我正在從 node 學習 java,雖然我對語法/語言/生態系統相當滿意,但我仍然發現很難知道給定的包究竟用于什么,就代碼而言。例如
節點.js
"lodash: 4.0.0"-> import _ from lodash->_.shuffle()
很容易看到 lodash 的用途,此外,谷歌搜索 lodash 會將您直接定向到檔案網站。
爪哇
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring5</artifactId>
<version>3.0.12.RELEASE</version>
</dependency>
查看代碼為您提供了以下內容:
import org.thymeleaf.spring5.SpringTemplateEngine;
import org.springframework.context.MessageSource;
這意味著您必須了解 Spring 設計才能了解此包的用途。谷歌搜索怎么樣?情況更糟!只有所有包版本的串列。另一方面,它的確切用途和用途根本沒有列出!
它使掌握所需的軟體包對我來說有些痛苦。
有什么解決辦法嗎?
uj5u.com熱心網友回復:
是的,這確實是一個奇怪的問題。總而言之,我認為從一個生態系統遷移到另一個生態系統需要時間。我也相信,可能你選擇了一個不好的例子。
更簡單的事情怎么樣(是的,lodash 從概念上講非常簡單):比如說,日志記錄:
所以你匯入了一個日志庫(假設你正在使用 slf4j 和 loback/log4j2 無論如何 - 現在很常見)然后在匯入中你做:
import org.slf4j.Logger;
您會看到 slf4j 包 - 并且在 google 中有一個檔案,就像使用 lodash 一樣然后您使用記錄器,這很容易。
現在 Spring 的方式變得更加復雜,因為我知道沒有什么是同時如此“強大”和“復雜”的 Java 腳本用語。所以它提供了大量的 API 和類,需要花很長時間才能掌握它的概念。但一般來說,當你看到import org.springframework一些東西時 - 你可以谷歌搜索 springframework 并且你會得到檔案。檔案雖然很大,但同樣是另一個故事。
uj5u.com熱心網友回復:
這不是一個完整的答案,但這可能會有所幫助:
圖書館的最佳實踐是為類包使用唯一的前綴,例如 'org.thymeleaf' 代表 thymeleaf.jar,'org.thymeleaf.spring5' 代表 thymeleaf-spring5.jar。
您可以通過https://search.maven.org/查找哪個類屬于哪個 jar(如果它們在中央 maven 存盤庫中),例如使用完整的類名fc:org.thymeleaf.spring5.SpringTemplateEngine或簡單的類名c:SpringTemplateEngine。
不幸的是,search.maven.org 沒有顯示 jar 中所有類或包的串列,您實際上必須下載它們或在庫自己的網站上找到一個 javadoc 頁面。
IIRC,bintray 在這方面做得更好,但不幸的是,JFrog 停止了這項免費服務。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/326741.html
