繁体   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