Я хобби-программист, использующий CodeAnywhere, чтобы позволить мне, ну, в общем, кодировать где угодно, не настраивая среду разработки. По общему признанию это не самая полная функциональность IDE, но она выполняет свою работу. Одним из ограничений является то, что я не могу использовать Ant или Maven, поэтому мне нужно выяснить, как создавать с использованием простого старого javac (через SSH).
Итак, я создал небольшой скрипт bash, который создает файл с относительными путями ко всем исходным файлам, а затем закачивает его в javac:
find -name *.java > classes.txt
javac @classes.txt
Первая строка работает нормально и генерирует ожидаемый результат. Второй также, кажется, работает, и даже дает мне ошибки компиляции (что я ожидал). Тем не менее, есть несколько классов, которые должны компилироваться, но соответствующие файлы классов не создаются. Это ожидаемое поведение? Почему это работает, когда я вручную включаю несколько имен файлов в качестве аргументов (даже если я включаю те, которые генерируют ошибки), а не когда я использую нотацию @file?