java中获得jar包执行路径的方法

  当我们由于某种需要需要的得到jar的路径是可以用下面的方式来获得:

      basePath = new Solution().getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
        basePath = URLDecoder.decode(basePath,"utf-8");       
        System.out.println("basePaht:"+basePath);
        if(basePath.endsWith(".jar")){
            basePath = basePath.substring(0,basePath.lastIndexOf("/")+1);
        }    
    File f = new File(basePath);    
    basePath = f.getAbsolutePath(); //得到windows下的正确路径 

  其中Solution为main函数所在类的类名称,如果路径中有中文的话需要用URLDecoder.decode(basePath,"utf-8")utf-8进行转码,其中得到的basePath即为jar包的父路径,到现在为止,得到的路径还不是Windows下的格式,应用f.getAbsolutePath()就可得到。

你可能感兴趣的:(java)