[英]What is the special meaning of '*' in a Java class path?
在此示例行中, '*'
的含義是什么?
javac -classpath .:classes:/opt/pi4j/lib/'*' ...
引號通配符*
表示在輸入命令行時停止試圖擴展外殼程序的外殼程序。
但是,根據Oracle Java文檔中的此頁面,類路徑本身可以評估通配符:
類路徑條目可以包含基本名稱通配符,該通配符被認為等同於指定擴展名為.jar或.JAR的目錄中所有文件的列表。 例如,類路徑條目foo /指定目錄foo中的所有JAR文件。 僅由*組成的類路徑條目將擴展為當前目錄中所有jar文件的列表。 無論文件是否隱藏(即名稱以“。”開頭),都將考慮它們。
包含*的類路徑條目將與類文件不匹配。 要在單個目錄foo中匹配類和JAR文件,請使用foo:foo / *或foo / *:foo。 選擇的順序確定是否在foo中的JAR文件之前加載foo中的類和資源,反之亦然。
子目錄不是遞歸搜索的。 例如,foo / *僅在foo中查找JAR文件,而不在foo / bar,foo / baz等中查找。
如果您根本不了解*
,則需要遵循如何使用通配符
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.