2012-12-07 57 views
5

我在Java中制作了一个使用gui显示其.java源文件的小程序。它不使用FileChooser来做到这一点。我读的.java源与下面的语句使用项目自己的.java文件作为资源文件

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

的援助,其中name是java文件即名,如果该文件是MyProg.java然后name==Myprog。当然我的程序是在dev.classes包里面

问题是,当我将我的项目导出到JAR并包含源文件时,这是可行的,因为源文件驻留在/dev/classes/目录中。

但是,我还没有发现一种方法来让我的程序在Eclipse或从命令行运行而不会给我例外。

当然,当有人试图将这些源文件自动添加为资源文件时,该过程将失败。

从Eclipse和JAR运行时,我能以某种方式使用相同的代码吗?它一定是非常微不足道的,但因为我不是Java专家,所以我看不到。

+0

这只是确保源代码位于Eclipse所制作的Jar内部的问题。如果是,它会起作用。 –

+0

谢谢@安德鲁 - 汤普森。我已经确认了它,它可以在jar中运行,但不能直接从Eclipse运行。正如你可以理解的那样,它不像一般的让我们说.txt文件。 .java文件不会被Eclipse复制到/ bin /目录! –

+0

*“它不像一般的让我们说.txt文件。”* Java源通常是一种特定的编码,扩展是不同的,虽然它里面有'Java代码',但它非常像文本文件到计算机(或软件)。 –

回答

0

我发现如何去做。其实你必须使用Ant或Maven。但是,这可以在Eclipse中完成以下操作:

在Eclipse项目属性> Java构建路径上,您可以选择底部默认输出文件夹:<your_project_name>/src

这会导致类文件被编译到与.java文件相同的目录中,并最终做我想要的。

感谢@AndrewThompson建议尝试此操作