[英]How do I link jar packages together with *.java files during compilation using GCJ?
[英]Keeping Java files in packages during compilation
在我的Java类中,我想输出同一项目的另一个(未编译)Java类的代码。 这是包的结构:
main (package)
files (package)
SampleClass.java
SampleFile.txt
CodeOutput.java
以及CodeOutput.java
的代码:
public class CodeOutput {
public void run() {
InputStream in = getClass().getResourceAsStream("files/SampleClass.java");
BufferedReader stream = new BufferedReader(new InputStreamReader(in));
try {
System.out.println(stream.readLine());
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new CodeOutput().run();
}
}
我尝试从files
包中加载文件SampleClass.java
并输出其第一行。 但是,编译后Java文件不会保留在软件包中。 我还尝试从构建路径中排除文件(在文件的上下文菜单中:Build Path-> Exclude),因此代码未编译为.class
文件,但Java文件仍未出现在包中。 它可以与SampleFile.txt
一起正常工作,因此我确定它与项目/构建路径设置有关。
有什么想法可以像对待包中的其他资源一样对待Java文件吗?
Eclipse将在src/main/java
下编译所有.java文件。 如果您不想编译Java文件,请将其保存在/src/main/resources
。 另外,如果您使用Maven来构建源代码,则可以轻松地在jar文件中包含源代码。 这里的说明
在Java源代码之外创建一个新目录,并将该目录添加到类路径中。 您可以在该目录下创建相同的包结构。 所以CodeOutput将是一个可编译的Java类,但是添加到您的类路径中新目录下的所有文件都不会。
如果您不想这样做,则无法以您现在尝试访问它们的方式访问您的源文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.