请问,我在windows2000的 cmd环境下调用了set
classpath="@@@"命令,
然后再调用set命令,显示这个时候classpath是我修改后的值
但是如果我关闭cmd后又重新启动cmd再调用set
classpath变成了系统参数里面的classpath值了。
请问在cmd下调用set classpath=
这句话对classpath的有效期间是多久?
如果要通过命令或者编程对系统参数里面的classpath进行修改,怎么做?
---------
这个问题,如果你不关闭cmd窗口,则有效期直到你输入下一次set
classpath命令为止
**************
如果要通过命令或者编程对系统参数里面的classpath进行修改,怎么做?
你没事用程序改classpath干吗??改了后有可能以前能用的程序都不能再用了
编程的话,可以用Runtime.exec来执行set
classpath命令,这样可以改变classpath
如果在CMD窗口内更改的classpath,那么在当前窗口内一直有效,直到你关闭当前窗口!对于其余的cmd窗口没有任何影响。
在系统属性里设计的classpath,则是针对每个cmd窗口都有效的,除非你改变它!
---
Windows里面的环境变量长度确实是受限制的,我通常也使用两种方法:
(1)如果使用某种Web Application
server,就将jar文件放在WEB-INF/lib目录下,
这样就不需要修改CLASSPATH环境变量了,这个和li_haizhou(阿土)的做法相同,
而且我也感觉这样最好了。
(2)如果你要加的jar文件是:C:\j2sdk1.4.2_07\lib\tools.jar;
你可以先建一个系统变量,例如:JDKLIB,这样刚才的那条jar文件就可以改成:
%JDKLIB%\tools.jar
我经常都是这么做的,不过如果你要是不加太多的jar文件,一般是够用的,
也不用非得这么做。
------------
有一个种方法就是在需要执行的jar文件中的MAINFEST文件设置CLASSPATH,这样的方法很容易写错名字也不适合随时添加删除lib文件夹中的.jar文件,因为每次添加删除就需要修改MAINFEST文件的CLASSPATH
查到不少如何将一个目录的jar包设置为classpath,但是如果设置完以后执行java
-jar命令去执行一个jar包,前面的设置会被默认屏蔽了。
解决的方法就是把要执行的jar包也设置到classpath中去,然后执行普通的java命令运行jar包中的class文件
例如,windows中制作一个run.bat文件,内容为:
SetLocal
EnableDelayedExpansion
set CLASSPATH=.
FOR %%i IN ("lib\*.jar") DO SET
CLASSPATH=!CLASSPATH!;%%i
//这儿一定要是!不是%
set
CLASSPATH=%CLASSPATH%;JOSP.jar
//这是我要执行的jar文件
echo %CLASSPATH%
java -cp %CLASSPATH% jospserver.ospserver 192.168.100.206 7 chenyi
//jospserver为package名,ospserver
为class名,后面是我程序需要的运行参数
在linux中就制作一个shell命令,run.sh,内容为:
#!/bin/sh
#获取当前目录
PWD=`pwd`
CLASSPATH=$PWD/JOSP.jar:"$CLASSPATH"
for i in lib/*.jar;
do CLASSPATH=$PWD/$i:"$CLASSPATH";
done
export CLASSPATH=.:$CLASSPATH
java -cp $CLASSPATH jospserver.ospserver 192.168.100.206 7
chenyi
这样就省去了设置JOSP.jar文件中MAINFEST里面的classpath参数,而且可以根据需要添加和删除lib文件夹中的.jar文件而不需要修改MAINFEST
本文来源【学网】网站链接是http://www.xue5.com
分享到:
相关推荐
Spring 配置中的classpath:与classpath*:的区别 Spring 配置中的classpath:与classpath*:的区别是 Spring 框架中一个常见的问题。本文主要介绍了这两种路径的区别、使用场景及注意事项,以帮助读者更好地理解和使用...
linux bash: YOUR_LIB=your_path for jar in `ls $YOUR_LIB/*.jar` do CLASSPATH="$CLASSPATH:""$jar" ... FOR %%C IN (LIB\*.jar) DO set CLASSPATH=!CLASSPATH!;%%C echo %CLASSPATH%
- 可以使用 `set CLASSPATH=路径`(Windows)或 `export CLASSPATH=路径`(Linux/Mac)来临时修改环境变量中的 classpath。 - 例如:`set CLASSPATH=E:\test`。 2. **持久化设置 Classpath**: - 在 Windows ...
在Java代码中,可以通过`System.setProperty("java.class.path", "path1;path2")`来设置classpath。但这通常只适用于测试和调试,不建议在生产环境中使用。 ### 3. classpath的搜索顺序 JVM按照以下顺序搜索类文件...
至于 setclasspath.bat 这个脚本, 相信看完这一篇, 就可以自己看懂这个脚本了. 可以点击下载 [ setclasspath.bat 脚本 ]查看附注释的 setclasspath.bat 脚本 catalina.bat 这个脚本的代码有点多, 就单独弄了一篇...
在Java编程环境中,`Classpath`(类路径)是一个至关重要的概念,它是Java虚拟机(JVM)查找和加载.class文件的路径。当我们在开发和运行Java程序时,正确配置Classpath是确保程序能正常运行的关键步骤。这篇文档将...
(第一次写文章,我经验也不足,根据自己的理解来向大家解释一下) 先说一说今天被折磨一整天的...相信点开这篇文章的同学都已经过了unable to find valid certification这一关,成功为自己的项目配置好了阿里云仓库等
.classpath
2. **设置`classpath`**:你可以通过`-cp`或`-classpath`命令行选项来设置`classpath`,或者在`JAVA_HOME/bin`目录下的`java.exe`启动脚本中修改`CLASSPATH`环境变量。 3. **路径分隔符**:在Windows上,路径之间...
classpath备份
set CLASSPATH=C:\path\to\your\classes java MainClass ``` 三、动态设置classpath 有时,你可能需要根据实际情况动态地添加或修改classpath。在Java程序中,可以使用`java.lang.ClassLoader`的子类来实现这...
设置 CLASSPATH 环境变量的作用是为了告诉 Java 编译器和运行时环境_where_to_find_ Java 类库文件。但是,我们不建议在初学 Java 时设置 CLASSPATH 环境变量,因为它可以根据需要动态地设置。 三、PATH 环境变量 ...
path与classpath的区别 path与classpath是Java开发中两个常见的概念,但它们之间的区别却经常被混淆。下面,我们将详细介绍path和classpath的作用、区别以及它们在Java开发中的应用。 path的作用 path是系统用来...
在Java编程环境中,路径(Path)和类路径(Classpath)是两个至关重要的概念,它们对程序的编译和运行起着决定性的作用。本文将深入解析这两个概念,并结合源码和工具,帮助你理解它们的工作原理。 首先,让我们来...
3. CLASSPATH系统属性:在Java代码中,通过`System.setProperty("java.class.path", "/path/to/lib")`来设置,但这通常不推荐,因为可能会覆盖已有的系统设置。 三、classpath的路径格式 classpath可以包含多个路径...
### classpath与path详解 #### 一、概念介绍 在深入了解`classpath`和`path`之前,我们需要先明确这两个环境变量的基本概念。 ##### path `path`环境变量主要用于指定操作系统可以搜索到可执行文件(例如`.exe`...
例如,`-classpath .:/path/to/library1.jar:/path/to/library2`会告诉JVM从当前目录、`library1.jar`和`library2.jar`中查找类。 在创建可执行的`.jar`文件时,通常会包含一个名为`MANIFEST.MF`的配置文件,其中的...
Java命令行classpath(类路径)的设置是Java开发过程中的一项基础操作,对于理解和运行Java程序至关重要。类路径是指定Java虚拟机(JVM)在执行Java程序时查找类文件的位置。正确配置类路径能确保JVM能够找到并加载...