如何将java文件编译到与java文件相同级别的目录中?

时间:2014-07-07 13:38:04

标签: java compilation javac

我的案子非常简单。在文件夹D://redbacktree中,我有两个文件.java

我想将它们编译到文件夹D://redbacktree/bin

我尝试的是:

javac -d bin *.java

redblacktree文件夹中创建了bin文件夹,并将.class个文件放入其中 D://redbacktree/bin/redblacktree/

但我不希望javacredblacktree文件夹中创建bin文件夹。

如何正确编译和运行?

2 个答案:

答案 0 :(得分:1)

也许你的java文件有包声明?

package redbacktree;

编译器为每个包创建一个单独的文件夹。您可以尝试使用默认包(即完全省略包装解除),尽管使用默认包不是一个好习惯。

答案 1 :(得分:1)

我会从我的评论中创建一个答案。 首先是关闭;如果您有包声明(这是组织代码和模块的好习惯),您的文件最终会在与您的包结构匹配的文件夹结构中。

我建议您阅读javacjava的手册页以查看所有标记和选项。我还建议使用某种构建工具并遵循java"约定"如何组织源文件和类文件。阅读更多here

MavenGradleBuildr是Java构建工具的三个示例。

Too" fix"您当前的问题是您可以使用以下命令运行已编译的java类:

java -cp bin redblacktree.<name of your class>

即告诉java要运行哪个类,您需要使用完全限定名称(包路径+类名)。另外-cp指定(root-)类路径,可以在其中找到已编译的类。