本文目录一览:
如何为Java程序动态的指定类的搜索路径
有三种方式设置 Java 类路径:
1.永久地,通过在系统级上设置 CLASSPATH 环境变量来实现。
使用控制面板的系统设置来添加名为 CLASSPATH 的新变量,从而永久性地设置 Windows 环境变量。
UNIX 用户可以通过向 .profile 或 .cshrc 文件添加 CLASSPATH 变量来永久设置类路径。
2.临时地,通过在命令窗口或 shell 中设置 CLASSPATH 环境变量来实现。
在 Windows 命令窗口中临时设置 CLASSPATH
C:\set CLASSPATH=%CLOUDSCAPE_INSTALL%\lib\cs.jar;.;
如果是临时设置类路径,那么每次打开新的命令窗口时,都需要再次设置它。
3.在运行时进行,每次启动 Java 应用程序和 JVM,都要指定类路径。
运行时使用 -cp 选项来指定类路径,这里的运行时是指启动应用程序和 JVM 时。
这个问题记得在远标java时遇到过的问题。
java类里,怎么得到自己的全路径?
import java.util.Date;
public class Test {
// 获取包路径
private static String getPackageName(Object obj) {
return obj.getClass().getPackage().getName();
}
// 获取类名
private static String getClassName(Object obj) {
return obj.getClass().getSimpleName();
}
// 获取类路劲
private static String getClass(Object obj) {
return obj.getClass().getName();
}
public static void main(String[] args) {
Date date = new Date();
System.out.println("Package Name = " + getPackageName(date));
System.out.println("Class Name = " + getClassName(date));
System.out.println("Class = " + getClass(date));
}
}
输出:
Package Name = java.util
Class Name = Date
Class = java.util.Date
Java 类路径指的是哪里
Java 类路径告诉 java 解释器和 javac 编译器去哪里找它们要执行或导入的类。类(您可能注意到的那些 *.class 文件)可以存储在目录或 jar 文件中,或者存储在两者的组合中,但是只有在它们位于类路径中的某个地方时,Java 编译器或解释器才可以找到它们。
在 Windows 中,类路径中的多个项是用分号分隔( ;)的,而在 UNIX 中,这些项是用冒号分隔(:)的。
这里我以调用一个JAR文件为例,来说明Java类路径的作用
1、直接在命令行中运行JAR文件的主类,这是会提示找不到主类。这时就需要我们配置路路径之后再运行该Jar文件
如在命令行输入 java com.miaomiaoxue.olivepress.Main(这时欧文们要运行的Jar文件主类路径)。这时会弹出提示信息找不到主类
2、配置类路径,这里介绍了两种在命令行中配置类路径的方式
•第一步,在命令窗口中配置类路径:set CLASSPATH =.;JAR文件的全名
3、配置类类路径后我们在在命令行中运行
java com.miaomiaoxue.olivepress.Main这时就显示运行成功的结果。
这些都是Java中的基础知识。
希望可以帮到您,谢谢!
java如何获取类的绝对路径
1 用servlet获取
1.1 获取项目的绝对路径
request.getSession().getServletContext().getRealPath("")
1.2 获取浏览器地址
request.getRequestURL()
1.3 获取当前文件的绝对路径
request.getSession().getServletContext().getRealPath(request.getRequestURI())
2.获取当前的classpath路径
String a2=类名.class.getResource("").toString();
String a3=DBConnection.class.getResource("/").toString();
String a4=DBConnection.class.getClassLoader().getResource("").toString();
String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
//输出很好理解
3、获取文件的绝对路径
String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
int num=t.indexOf(".metadata");
String path=t.substring(1,num).replace('/', '\\')+"项目名\\WebContent\\文件";