使用 jar 按给定路径创建目录和文件
Create directories and files by given path with jar
我有一个 java maven 项目,它将 .json 文件转换为 .yaml,反之亦然。长话短说,我编写的方法使用 jar 实际所在的路径创建转换过程的结果目录。然后我创建了创建文件的方法,并将转换过程的结果写入 /path_of_resulting_dir/file-name.json/.yaml。如果我在 IntelliJ idea 中从我的项目中 运行 jar - 一切正常。但是,当我从桌面上的随机文件夹中 运行 jar 文件时,没有任何反应。
那么,我怎样才能正确地制作 jar 来知道是否有任何我应该转换的文件放在 jar 文件旁边(例如 C:\path_to_jar\SomeJarDir\jar.jar 所以文件在 SomeJarDir 中有一个 jar) ,或者如果有任何我从我写为 jar 参数的路径访问的文件需要转换。
Link 到 GitHub,我的代码放在哪里(旧版本我没有尝试让 jar 知道从它放置的任何文件夹转换什么,只有当u 运行 jar in IntelliJ idea):
https://github.com/foreverdumb/javaSprSum2021/tree/JavaSprSmrHmwrk/michaelProject
P.S。我如何强制 log4j 在 jar 旁边创建日志文件?
您的程序可能使用相对路径,因此当您 运行 来自不同位置的程序时,它会读取相对于自身的目录。在 运行 时间内提供路径作为用户输入或设置 jar 的绝对路径。
我有一个 java maven 项目,它将 .json 文件转换为 .yaml,反之亦然。长话短说,我编写的方法使用 jar 实际所在的路径创建转换过程的结果目录。然后我创建了创建文件的方法,并将转换过程的结果写入 /path_of_resulting_dir/file-name.json/.yaml。如果我在 IntelliJ idea 中从我的项目中 运行 jar - 一切正常。但是,当我从桌面上的随机文件夹中 运行 jar 文件时,没有任何反应。
那么,我怎样才能正确地制作 jar 来知道是否有任何我应该转换的文件放在 jar 文件旁边(例如 C:\path_to_jar\SomeJarDir\jar.jar 所以文件在 SomeJarDir 中有一个 jar) ,或者如果有任何我从我写为 jar 参数的路径访问的文件需要转换。
Link 到 GitHub,我的代码放在哪里(旧版本我没有尝试让 jar 知道从它放置的任何文件夹转换什么,只有当u 运行 jar in IntelliJ idea):
https://github.com/foreverdumb/javaSprSum2021/tree/JavaSprSmrHmwrk/michaelProject
P.S。我如何强制 log4j 在 jar 旁边创建日志文件?
您的程序可能使用相对路径,因此当您 运行 来自不同位置的程序时,它会读取相对于自身的目录。在 运行 时间内提供路径作为用户输入或设置 jar 的绝对路径。