在与位于项目目录中的 .jar 文件相同的文件夹中创建一个文件

Posted

技术标签:

【中文标题】在与位于项目目录中的 .jar 文件相同的文件夹中创建一个文件【英文标题】:Create a file inside the same folder as that of a .jar file which is located inside the project directory 【发布时间】:2018-06-16 09:37:46 【问题描述】:

如何在主项目目录中的 .jar 文件所在的文件夹中创建文件?

【问题讨论】:

到目前为止您尝试过什么?请张贴代码。请提供更多详细信息。 如果您使用的是 IDE(netbeans、eclipse、idea),当您导出到 jar 时,它们应该会自动包含在内。你有什么问题? 请阅读how to ask a good question guide,然后再提问。目前,您的问题没有包含足够的详细信息,无法有人回答和解决您的问题。 我的 Eclipse 项目文件夹中有一个 .data 自定义文件,我希望当 .jar 打开时,将项目文件夹中的自定义文件“粘贴”到打开 .jar 的位置。 “.jar 打开”是什么意思?另外,“粘贴”是什么意思?你想“复制和粘贴”还是“移动”自定义文件?另外,你自己尝试过什么吗? 【参考方案1】:

您必须获取主函数所在的类的名称(Minecraft 插件的主函数的类名)。我将其表示为MSMainClass 现在,在获得类名后,检查加载的类是否确实来自 jar 文件。这就是你的做法:

String className = MSMainClass.class.getName().replace('.','/');
String classJar = MSMainClass.class.getResource("/" + className + ".class").toString();
if(classJar.startsWith("jar:") //code to copy files to destination;

Here 是 Java 文件复制的一些参考。Here 是 jar 执行检测的一些参考(可能重复)。

【讨论】:

真的很感谢伙伴,但我如何才能获得位于项目中的文件?像这样prntscr.com/hxdh6y 我不了解 Eclipse(使用过一次,在 IntelliJ 之后没有再使用)。但是在 IntelliJ IDEA 中,您只需右键单击文件并复制路径,然后点击我发送给您的链接。有 4 种方法可以做到这一点,并对每种方法进行简单的解释。所以,祝你好运。

以上是关于在与位于项目目录中的 .jar 文件相同的文件夹中创建一个文件的主要内容,如果未能解决你的问题,请参考以下文章

如何引用公共目录(不是库)中的外部 jar 文件来使用 ant 构建 android 项目?

如何在与windows批处理文件相同的目录中执行程序?

如何访问位于源文件夹中的 Jar 文件?

将 DerivedData 位置设置在与项目相同的文件夹中

无法使用Java TestNG项目解决AWS设备场中的依赖项 - jar错误

如何附加到覆盖的 YAML 文件(Spring)中的数组?