可以在Windows

时间:2015-11-16 15:59:34

标签: java windows

我想知道是否有任何方法可以通过Windows"系统属性"向CLASSPATH环境变量添加内容。这将创建"当前目录",即从命令提示符调用函数或类时的目录,这是该路径的永久部分。

2 个答案:

答案 0 :(得分:0)

@ Kajsa-默认情况下,当前目录在classpath中(除非您明确将其设置为其他值)。 通过执行System.out.print(System.getProperty(“java.class.path”))确认; 如果你想设置'classpath'变量,那么用。附加。以便当前目录保留在类路径中。

答案 1 :(得分:0)

@ Kajsa-只需按照以下步骤找出问题所在。

  1. 您是否确保系统环境变量中的更改反映到新打开的命令提示符(您可能必须在系统中注销并重新登录,这取决于您的系统设置)。使用命令'echo%variable_name%'(假设您使用Windows)确认更改。

  2. 一旦确定了这一点,请从系统环境中删除(删除)类路径变量,按照相同的过程验证classpath变量中的更改。这次命令:echo%classpath%将只打印'%classpath%'(不带引号)。这意味着删除了classpath环境变量。如果上面的命令打印出其他内容,则意味着不反映删除类路径环境变量。

  3. 验证删除了classpath变量后。现在运行以下代码片段(您应该能够安全地运行而不会出现任何编译错误)。这打印什么?它应该只打印点(。)字符(我在Windows 8上测试过)。

    C班 {     public static void main(String [] args)     {         是System.out.print(System.getProperty( “java.class.path”));     } }

  4. 这意味着当没有定义类路径变量时,jvm会将classpath的默认值分配给当前目录。

    1. 如果您看到点(。)字符以外的其他内容,则表示您已将类路径系统环境变量更改为其他值。因此,您在运行java命令时遇到问题。

    2. 要克服这种情况,您必须使用点(。)字符附加当前的classpath变量值。对于例如如果类路径的当前值是'C:\ Users \ Kajsa \ Desktop \ dirA',那么您将其值更改为'C:\ Users \ Kajsa \ Desktop \ dirA;。;'这样dirA以及当前目录(从中执行java命令)都在classpath中,并且将相应地搜索所需的类文件。您可以根据需要添加任意数量的目录(以;分隔)。这样做你不必每次都使用java -cp。

    3. 我希望这能解决你的问题。