当前位置: 首页 > 面试题库 >

CLASSPATH中的空白

轩辕亮
2023-03-14
问题内容

我正在Windows
PC上工作,并且有cygwin!我将我所有的jars组织在几个目录中的一个目录下!我正在编写一个bash脚本,以CLASSPATH通过遍历作为参数传递的目录来设置,如下所示:

for JAR_FILE in `ls *.jar`
do
    CLASSPATH="$DIRECTORY_TO_LOOK_FOR_JARS"/$JAR_FILE:$CLASSPATH
done

每当在目录中有空格传递/cygdrive/c/Documents and Settings/user/My Jars并且我运行时java -cp $CLASSPATH somepackage.someclass,都会抛出错误,指出and未找到该类,因为CLASSPATH变量在之后被拆分/cygdrive/c/Documents

有人可以帮我解决这个问题吗?


问题答案:

看到这篇文章。

您可以将完整的类路径包含在双qoutes中

java -classpath "C:/Documents and Settings/user/project/lib/axis.jar; C:/Documents and Settings/user/project/lib/axis-ant.jar;" TestClient

或类路径中的每个jar

java -classpath "C:/Documents and Settings/user/project/lib/axis.jar"; "C:/Documents and Settings/user/project/lib/axis-ant.jar;" TestClient

在你的情况是这样的:

for JAR_FILE in `ls *.jar`
do
    CLASSPATH="$DIRECTORY_TO_LOOK_FOR_JARS/$JAR_FILE":$CLASSPATH
done

很难看到,但是我移动了结尾的双qoute。



 类似资料:
  • 问题内容: 我正在处理一些Spring XML配置文件,有时使用和有时。两者之间有区别吗?还是领先的可选/隐含/冗余? 问题答案: 我认为这两者之间没有任何区别。您将看到的最大区别是相对路径和类路径位置上的* 这是Spring Resources的节选,请参见4.7.2.2节 Classpath *: “ classpath :”前缀也可以与其余位置路径中的PathMatcher模式结合使用,例如

  • GNU Classpath(Java 的基本类库)是为了建立自由核心类库使用虚拟机和编译器的Java编程语言。它包括所有本地方法和核心课程是完全必要的功能Java运行。

  • 问题内容: 该文件夹位于Java Web应用程序的中吗? 问题答案: 我假设您要引用Web应用程序文件夹结构根 目录 中的目录。 不,它不在类路径中。 不过在classpath上,中的JAR文件也是如此。

  • 问题内容: 可以将option与with一起使用,添加还是替换env变量的内容? 问题答案: 使用classpath变量,它会覆盖环境变量的CLASSPATH,但仅适用于该会话。如果重新启动应用程序,则需要再次设置classpath变量。

  • 我正在尝试与非官方的Android API交互:http://code.google.com/p/android-market-api/.它包括两个。我必须添加到类路径的JAR(我在Windows 7上) 我已经将. jars、androidmarket和原型都放入了我的项目目录中,并编辑了我的CLASSPATH以包含两个. jars: C:\xxxxxxxxxx\JAVA项目文件夹\protob

  • 清单在一行上只包含版本,然后在一行上包含主类属性,然后是2个空行 所有依赖项都位于相对于jar的/lib文件夹中,因此清单中没有指定类路径 在zip文件程序中打开jar显示文件夹,其中包含文件,因此限定名反映在jar结构中。资本化也是正确的。 罐子结构: 清单文件: