簡體   English   中英

Java類路徑中“ *”的特殊含義是什么?

[英]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.

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