当前位置: 首页 > 知识库问答 >
问题:

如何检索包含已执行jar文件的目录?

周浩博
2023-03-14

我正在处理一个作为可执行jar运行的Spring Boot应用程序。在我的代码中,我试图检索运行的jar文件所在的文件夹。但是我发现了一些困难。我这样做了:

File jarFile = new File(BeanConfig.class.getProtectionDomain().getCodeSource().getLocation().getPath());
String jarFolder = jarFile.getParentFile().getPath();
System.out.println("FOLDER: " + jarFolder);

问题是,通过这种方式,打印输出是这样的:

FOLDER: file:/home/andrea/git/notartel-api-batch/target/UpdateInfoBatch-0.0.1-SNAPSHOT.jar!/BOOT-INF

这不是我所需要的,因为我需要包含jar文件的目录路径,int这个例子是这样的:/home/andrea/git/notartel-api-batch/target/

怎么了?我错过了什么?如何尝试修复此行为以检索包含jar文件的目录的路径?

共有2个答案

何宏博
2023-03-14
ApplicationHome home = new ApplicationHome(MyMainSpringBootApplication.class);
home.getDir();    // returns the folder where the jar is.
home.getSource(); // returns the jar absolute path.
燕烨
2023-03-14

在Spring Boot应用程序中,可以执行以下操作:

ApplicationHome applicationHome = new ApplicationHome(MySpringBootApp.class);
String jarFolder = applicationHome.getDir().getAbsolutePath();
System.out.println("FOLDER: " + jarFolder);
 类似资料:
  • 问题内容: 大家好,菜鸟Java问题。 我有一个Java项目,并且想在可执行jar中包含一个文本文件。现在,该文本文件位于默认程序包中。 InputFlatFile currentFile =新的InputFlatFile(“ src / theFile.txt”); 正如您使用src所看到的那样,我使用该行抓取文件。但是,这不适用于可执行jar。 有人可以让我知道如何将文件保存在可执行jar中,

  • 问题内容: 我想从bat文件执行Java类,它包括的用法。下面是代码: 运行它时出现以下错误。我认为“包含”存在任何问题,有人可以帮助我吗? 问题答案: 类似于classpath。 在Linux下: 在Windows下:

  • 如何强制pyinstaller使用特定的。打包为exe时的jar文件? 我正在尝试生成一个使用tabla-py-lib的可执行文件。这个库需要一个jar文件tabla-1.0.1-jar-with-dependencies。jar,我的文件中有。py文件夹。这些是myfile中的一些修改。规格: 然而,错误仍然存在。当我从命令行运行我的代码时,函数read_pdf(),来自tabula-py,它使

  • 我需要创建一个应用程序,使用各种参数,如高度,体积或基础面积排序各种类型的多边形。将通过命令行传递具有多边形参数、排序类型参数、排序方法参数的文件名的参数。该文件位于项目中的“我的资源”文件夹中的“我的src”文件夹之外。我已经实现了所有的程序,当我通过eclipse运行配置使用pass参数运行时,它工作得很好。但是当我尝试使用cmd相同的参数运行我的.jar文件时,它给出了。 我使用打开了我的j

  • 本文向大家介绍Eclipse 导出可执行Java工程/可执行Jar文件(包含第三方Jar包),包括了Eclipse 导出可执行Java工程/可执行Jar文件(包含第三方Jar包)的使用技巧和注意事项,需要的朋友参考一下 Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包) 师兄部署了新的虚拟机,新学期大搞起来!之前由于爬虫代码不稳定,所以一直都是直接用Eclipse运行,然

  • 我正在使用一些apache HttpClient jar,所以我把它们放在我的项目的lib目录中,当Netbeans编译项目时,它复制lib并生成一个项目jar到dist目录中,但是当我使用webstart运行项目时,我需要将项目jar和lib复制到Tomcat的根目录中,我想知道Netbeans是否可以生成一个包含lib目录中所有jar的项目jar,这样我就不必将项目jar和lib目录复制到To