当前位置: 首页 > 知识库问答 >
问题:

编译SRC中的所有文件?

郝原
2023-03-14

我得到的是:

/myjava/compile.cmd
/myjava/src/a/HelloWorld.java
/myjava/src/b/Inner.java
/myjava/src/b/Inner2.java
/myjava/bin

HelloWorld:

package a_pack;

import b_pack.Inner;
import b_back.Inner2; 

public class HelloWorld {

    public static void main(String[] args) {

        System.out.println("Hello, World");     

        Inner myInner = new Inner(); 
        myInner.myInner(); 

        Inner2 myInner2 = new Inner2();
        myInner2.myInner(); 

    }

}

inner.java

package b_pack; 

public class Inner {

    public void myInner() {
        System.out.println("Inner Method");
    }

}

内部2.Java

package b_pack; 

public class Inner2 {

    public void myInner() {
        System.out.println("SecondInner");
    }

}

现在我要做的是编译这个,这样我就可以运行了。

我可以用以下方法编译它:

javac-d bin src/a/helloworld.Java src/b/inner.Java src/b/inner2.

但我想使用一个不需要列出每个子文件夹的通用命令。我该怎么做?

共有1个答案

单勇
2023-03-14

由于HelloWorld类导入了对InnerInner2类的引用,因此可以使用javacSourcePath标志来编译所有三个类:

javac -d bin -sourcepath src src/a/HelloWorld.java
 类似资料:
  • 问题内容: 如何使用javac在Unix上的所有子文件夹中编译所有java文件? 问题答案: 使用诸如Ant或Maven之类的构建工具。与使用UNIX工具相比,这两种方法都可以使您以更好的方式管理依赖关系。And和Maven都还允许您定义除编译之外要执行的自定义任务。Maven还附带了用于管理远程存储库中的外部依赖项的约定,以及用于运行单元测试和支持连续集成的功能的约定。 即使您只需要偶尔编译一次

  • 问题内容: 有没有办法在单个Maven项目中编译多个Java源目录? 问题答案: 你可以使用build-helper添加新的源目录:

  • 我有一个React Native项目,大约有3到4个屏幕。 在反编译生成的Android classes.dex文件后,我只找到了两个Java类。如果我说React Native将组件编译为本机Android类是正确的,那么这些屏幕的所有Android类都在哪里? 请注意:APK捆绑正确,因为它在Android设备上运行良好。 我还运行了以下命令来创建APK: 谢谢

  • 我正在使用Eclipse,正在进行一个J2EE项目。我们正在尝试为单元测试编写Groovy/Spock测试。该项目是一个Maven项目,并为其添加了Groovy特性。问题是,如果我编辑任何Groovy测试类,它都不会被编译。因此,作为Junit运行测试并没有获得最新的更改。我必须运行一个Maven构建,以获取测试类最近的更改。 我的设置, Groovy编译器2.4 检查了另一个问题,它没有多大帮助

  • 我从GitHub(Tetra pack)下载了一个modhttps://github.com/Noobulus/Tetra-Pak/tree/1.18)因为1.18版本还没有作为编译的jar发布。我运行了gradlew构建,但它抛出了这个错误 配置根项目“利乐-1.18”时出现问题。无法解析配置“classpath”的所有文件。无法解析com。github。GradleBuildConfig插件:

  • 本文向大家介绍Go 使用Makefile编译所有架构,包括了Go 使用Makefile编译所有架构的使用技巧和注意事项,需要的朋友参考一下 示例 此Makefile将交叉编译和压缩Windows,Mac和Linux(ARM和x86)的可执行文件。 (请注意,Makefile需要使用硬标签而不是空格)