2011-10-12 131 views
0

我有一个Verification.jar文件,它检查excel文件中的一些条件。我想要创建一个文件夹称为日志在Verification.jar存在的同一级别。如何获得jar文件路径

由于前请先.........

编辑

我有文件夹如下

“验证”: - 建立,DIST,LIB, nbproject,src,Test,build.xml

“Build” Contains Classes文件夹

“DIST”包含Verification.jar和lib文件夹

“LIB”包含库文件

我想找到Verification.jar的路径和创建文件夹名为输出

如果我更改驱动器,它应该创建相同级别的文件夹,其中Verification.jar存在。

String path= getClass().getResource("").getPath(); 

Output:--getPath:/C:/Java/jdk1.6/bin/Verification/lib/

+1

一种简单的方法是通过任何你想要的路径作为命令行参数。 –

+0

我可以找到我的Verification.jar所在的目录 –

回答

2

使用URL Class.getResource(String name)方法。

package.ClassName.class.getClassLoader().getResource("package.ClassName"); 

编辑:

看一看伟大的SO线程 - How to get the path of a running jar file?通过@Hovercraft全鳝建议

+0

感谢它帮助我...... –

0

正确的形式是:

String directory = System.getProperty("user.dir"); 

如果您正在运行.jar文件返回当前工作目录,这是.jar所在的目录...

请注意,IDE不运行jar文件,运行main方法所在的.class文件,因此在IDE中运行时,此方法返回项目文件夹

PD:对不起,如果我犯了语法错误,英语不是我的母语。

0

是不是最好的解决方案,但我使用这个功能。 jar文件必须与项目名称相同。适用于Windows和Linux。如果有人能帮助我改善它,我会被磨练的。

public String getJarCurrentJar() { 
      String[] userDir = System.getProperty("user.dir").split("\\"+System.getProperty("file.separator")); 
      String appName = ""; 
      for (String temp : userDir) { 
       appName = temp; //Get the application name/jar 
      } 
      return System.getProperty("user.dir") + System.getProperty("file.separator") + "dist" + System.getProperty("file.separator") + appName+".jar"; 
     } 
相关问题