`

Java中获取类加载路径和项目根路径

    博客分类:
  • Java
 
阅读更多
public class Test {
    public static void main(String[] args) {
        // LIVE TEMPLATE psvm+Tab键  sout
        Test test = new Test();
        try {
            test.showURL();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void showURL() throws IOException {

        // 第一种:获取类加载的根路径  D:\IdeaProjects\cdby_wan\WebRoot\WEB-INF\classes
        File f = new File(this.getClass().getResource("/").getPath());
        System.out.println(f);

        // 获取当前类的所在工程路径; 如果不加“/”获取当前类的加载目录  D:\IdeaProjects\cdby_wan\WebRoot\WEB-INF\classes\test\com
        File f2 = new File(this.getClass().getResource("").getPath());
        System.out.println(f2);

        // 第二种:获取项目路径 D:\IdeaProjects\cdby_wan
        File directory = new File("");// 参数为空
        String courseFile = directory.getCanonicalPath(); // Tomcat环境中运行,会获取Tomcat安装目录的bin目录,不推荐使用
        System.out.println(courseFile);

        // 第三种: file:/D:/IdeaProjects/cdby_wan/WebRoot/WEB-INF/classes/
        URL xmlpath = this.getClass().getClassLoader().getResource("");
        System.out.println(xmlpath);


        // 第四种: D:\IdeaProjects\cdby_wan
        System.out.println(System.getProperty("user.dir"));
         /*
          * 结果: C:\Documents and Settings\Administrator\workspace\projectName
          * 获取当前工程路径
          */

        // 第五种:  获取所有的类路径 包括jar包的路径
        System.out.println(System.getProperty("java.class.path"));
    }
}

 

分享到:
评论
1 楼 feng_tai_jun 2017-03-28  
总结很好。

相关推荐

    java中获取类加载路径和项目根路径的5种方式分析

    本篇文章介绍了,java中获取类加载路径和项目根路径的5种方式分析。需要的朋友参考下

    使用Java类加载和类路径实现一个简单的在线购物网站.txt

    这段代码实现了一个简单的购物车类ShoppingCart,其中使用了Java的类加载和类路径机制。在类的构造方法中,首先通过类加载器将购物车类加载到JVM中,然后创建了一个Map对象来存储购物车中的商品及其数量。接着实现了...

    解决java打包之后无法加载静态资源的问题SWTResourceManager.java源码

    这是因为通过class.getResource()方法在IDEA中运行的路径和生成jar包获取的的路径是不同的。打成jar包后,获取图片的路径中有"xxx.jar!"这里面的内容是不能够被操作系统识别出来的,因此直接通过路径来获取文件是不...

    java中File的相对路径与绝对路径总结

    java web中File的相对路径与绝对路径总结,用于在运行时获取配置文件、动态加载对象等

    JAVA类加载

    Java 语言是一种具有动态性的解释型编程语言,当指定程序运行的时候, Java 虚拟机就将编译生成的 .class 文件按照需求和一定的规则加载进内存,并组织成为一个完整的 Java 应用程序。 Java 语言把每个单独的类 ...

    反射,动态加载指定类调用类中的方法

    反射,动态加载指定类调用类中的方法 简单例子

    java加载属性文件

    java通过相对路径或绝对路径加载属性文件。

    Java web开发中加载图片路径的两种方式

    下文给大家介绍基于编译器idea以及tomcat服务器开发的,对Java web开发加载图片路径的两种方式感兴趣的朋友一起看看吧

    JAVA上百实例源码以及开源项目源代码

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    JAVA_API1.6文档(中文)

    java.security.cert 提供用于解析和管理证书、证书撤消列表 (CRL) 和证书路径的类和接口。 java.security.interfaces 提供的接口用于生成 RSA Laboratory Technical Note PKCS#1 中定义的 RSA(Rivest、Shamir 和 ...

    Java动态编译Java代码,运行在内存中,并执行

    获取当前执行的classpath的所有jar包的路径 * 3.通过java的ToolProvider创建JavaCompile,用来执行class源文件 * 4.创建DiagnosticCollector用来执行获取执行失败的错误结果 * 5.添加动态执行的编译环境 options ...

    Java模块化类加载JBossModules.zip

    JBoss Modules 是独立实现了一个 Java 模块化(非层次的)类加载和执行环境。换句话说,就是加载所有 JARs 到一个平滑的类路径,每个库都是一个模块。JBoss Modules 实现一个线程安全,快速,高并发委托类加载器模型...

    JAVA环境变量设置的作用.txt

    1.JAVAHOME就是安装目录.用在 PATH,CLASSPATH的设置中免去了你再写一长串的路径,用JAVAHOME就代替安装目录....3.CLASSPATH该变量是JAVA加载类(class or lib)的路径.只有在classpath设置的路径中的类才能被加载.

    JAVA上百实例源码以及开源项目

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    java文件的加载

    一些路径的总结

    java识别图片文字/验证码源代码项目大礼包 Tess4J-3.4.7, Longan, javaocr,Java_imagetotext

    文件为压缩包,包括多个java识别图片文字的项目,国内网站上资料比较少,项目都整理出了测试类及说明,都包含着源代码及jar包、安装包、训练库。希望用得到的人少走弯路,资源都精心整理测试过,高分是必须的。 java...

    Java类加密程序

    <br>举例说明:例如,本加密工具安装在c:\hideasoft\java_protect,执行加密后的CLASS文件的命令行如下: java -agentlib:c:\hideasoft\java_protect\hidea <您的CLASS类及参数> 应用场合 独立的应用...

    log4j中配置日志文件相对路径方法分析

    log4j中配置日志文件相对路径方法分析 方法一、 解决的办法自然是用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如:log4j.appender.logfile.File=${WORKDIR}/logs/app.log 其中“${...

    Java URLClassLoader动态加载jar包1

    该类加载器用于从指向 JAR 文件和目录的 URL 的搜索路径加载类和资源。如果不是以该字符结束,则认为该 URL 指向一个将根据需要打开的 JAR 文件pac

    Java 1.6 API 中文 New

    java.security.cert 提供用于解析和管理证书、证书撤消列表 (CRL) 和证书路径的类和接口。 java.security.interfaces 提供的接口用于生成 RSA Laboratory Technical Note PKCS#1 中定义的 RSA(Rivest、Shamir 和 ...

Global site tag (gtag.js) - Google Analytics