簡體   English   中英

類路徑中的“.:./*”是什么意思?

[英]What is the meaning of “.:./*” in classpath?

我有以下腳本來運行MyDBCreateSchema/MyDBCreateSchema.class來初始化數據庫。

java –cp ".:./*" MyDBCreateSchema dbHost 1433 id password DBName

什么是".:./*"

嗯,第一個“。” 前面的“:”表示當前目錄,所以包含了當前目錄下的所有.class文件。 “:”之后的“./*”我認為沒有任何意義,因為我認為 Java 不能擴展“*”字符。 如果是這樣,這可能意味着當前目錄下的所有子目錄也將包含在類路徑中(即,這些子目錄中的所有.class 文件將被包含在類路徑中)。

無論哪種方式,這都是非常不可讀的,在 bash 腳本和 append 中手動或使用以下命令創建單個目錄更有意義:

CLASSPATH="."
for DIRECTORY in $(ls /some/directory); do
    CLASSPATH+="${CLASSPATH:+:}$DIRECTORY"
done

java -cp "$CLASSPATH" ...

你明白漂移...

暫無
暫無

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

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