javac编译-多个文件夹中的代码

标签 java compilation javac

我已经坐了一段时间了,想不通,虽然我觉得这很容易......

我必须使用 javac 编译以下程序(该程序有一个类和一个测试类):

  • 类在文件夹./src/cplx/
  • 一个测试类在文件夹./test/cplx/
  • junit 库在./lib

和:

  • 类应该构建到./build/slasses
  • 测试类应该构建到./build/test

请帮我写一个正确的 javac 命令来编译代码。


我使用建议的命令结束时出现以下错误,测试类似乎没有看到我构建的类?

amaltea:testowanie/zad1% javac -d ./build/classes ./src/cplx/*.java
amaltea:testowanie/zad1% javac -classpath ./lib/junit-4.8.2.jar -d ./build/test ./test/cplx/*.java
./test/cplx/ComplexTest.java:20: cannot find symbol
symbol  : class Complex
location: class cplx.ComplexTest
                Complex a = new Complex(1.1, 2.2);
                ^
./test/cplx/ComplexTest.java:20: cannot find symbol
symbol  : class Complex
location: class cplx.ComplexTest
                Complex a = new Complex(1.1, 2.2);
                                ^
2 errors
amaltea:testowanie/zad1%

最佳答案

您只能使用 javac 指定一个根目标目录。如果您希望根目录本身不同,则需要单独编译它们。

javac -d ./build/classes ./src/cplx/*.java
javac -classpath ./lib/junit.jar -d ./build/test ./test/cplx/*.java

关于javac编译-多个文件夹中的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7894793/

相关文章:

hadoop - 使用 Hadoop-LZO 构建 Java 项目但找不到类

maven - 如何使用 maven 获得完整的 javac 编译器错误?

java - @interface 是什么时候在 java 中引入的?

java - cfhttp : the trustAnchors parameter must be non-empty

ruby-on-rails - 命令 bundle exec rake Assets :precompile错误

javascript - CoffeeScript 编译

java - 如何在不运行的情况下在 Eclipse 中编译 Java 程序?

java - 覆盖所有方法并自动传递第一个参数的装饰器

java - 重新生成 JAX-WS 类

grails - Intellij IDEA - 使用 -source 1.8(或 1.7)编译 grails 项目