将项目的 .java 文件作为资源文件使用

5

我在Java中编写了一个小程序,它使用GUI显示自身的.java源文件。它不使用FileChooser来做到这一点。我使用以下语句来读取.java源代码:

String resName = "/dev/classes/"+name+".java"
Scanner s = new Scanner(FilePrinter.class.getResourceAsStream(resName));

这段代码涉及到IT技术,其中name是.java文件的名称,例如如果文件名是MyProg.java,则name==Myprog。当然,我的程序位于dev.classes包中。

问题在于,当我将项目导出为JAR并包括源文件时,它能够正常运行,因为源文件驻留在/dev/classes/目录中。

然而,我还没有找到在Eclipse或命令行中运行程序而不抛出异常的方法。

当然,当有人尝试添加这些源文件以用作资源文件时,该过程会失败。

那么,我是否可以在从Eclipse和JAR中运行同一段代码?这一定是非常微不足道的事情,但由于我不是Java专家,所以无法看清楚。


只需要确保源代码在Eclipse生成的Jar包内即可。如果在其中,它就能正常工作。 - Andrew Thompson
谢谢@andrew-thompson。我已经确认了它,在jar包内可以工作,但是直接从Eclipse运行时却不行。正如您所理解的那样,它不像一个常规的.txt文件。.java文件没有被Eclipse复制到/bin/目录下! - Yannis P.
“它不像一个普通的 .txt 文件。” Java 源代码通常具有特定的编码和不同的扩展名,虽然其中包含了“Java 代码”,但对于计算机(或软件)来说,它非常类似于文本文件。 - Andrew Thompson
2
不是完全相同,但可能有所帮助 https://dev59.com/f2035IYBdhLWcg3wH8Ul - Jacob Schoen
1
@YannisP. 不确定,但我相信通过调整Eclipse的默认设置(我认为你可以选择将源代码和类文件放在同一路径下)或编写一个Ant构建文件应该可以实现。 - Andrew Thompson
显示剩余4条评论
1个回答

0

我找到了如何做到这一点。 实际上,您可以使用Ant或Maven。 但是,在Eclipse中也可以按照以下步骤完成:

在Eclipse项目属性>Java Build Path上,您可以在底部的“默认输出文件夹”中选择:<your_project_name>/src

这会导致类文件编译在与.java文件相同的目录中,最终实现了我的要求。

感谢@AndrewThompson建议尝试这个方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接