簡體   English   中英

用CLASSPATH環境變量替換classpath參數

[英]Replacing classpath argument with CLASSPATH environment variable

要求:

  • 僅命令行,即沒有IDE
  • 不想使用classpath參數
  • 作業系統:OS X v10.6.8

腳步:

  • 設置CLASSPATH環境變量: export CLASSPATH="/path-jar-files-are-at/*"
  • 編譯我的Java應用程序: javac MyApp.java
  • 啟動我的Java應用程序: java MyApp

啟動后,出現以下錯誤:

Exception in thread "main" java.lang.NoClassDefFoundError: MyApp
Caused by: java.lang.ClassNotFoundException: MyApp

使用classpath參數沒有這個問題

  • 編譯我的Java應用程序: javac -classpath /path-jar-files-are-at/* MyApp.java
  • 啟動我的Java應用程序: java -classpath /path-jar-files-are-at/* MyApp

有任何想法嗎?

CLASSPATH不應包含結尾的“ / *”-不會為您提供有效的類路徑。 Shell正在擴展/ *並使用空格/換行符分隔列表-而不是“:”字符。

如果您仍然真的希望它以這種(動態)方式工作,請嘗試如下操作:

export CP=`ls /path-jar-files-are-at/*`; CP=`echo $CP | sed 's/\.jar\s/.jar:/g'`; CP="$CP:/path-jar-files-are-at"

暫無
暫無

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

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