javac在出现错误时不生成类文件

javac在出现错误时不生成类文件,java,javac,Java,Javac,我是一个业余程序员,使用CodeAnywhere可以让我在任何地方编写代码,而无需设置开发环境。诚然,它不是功能最齐全的IDE,但它完成了任务。一个限制是我不能使用Ant或Maven,所以我必须弄清楚如何使用普通的javac(通过SSH)进行构建 因此,我创建了一个小bash脚本,它创建了一个文件,其中包含所有源文件的相对路径,然后将其输入到javac中: find -name *.java > classes.txt javac @classes.txt 第一行工作正常,并生成预期输出

我是一个业余程序员,使用CodeAnywhere可以让我在任何地方编写代码,而无需设置开发环境。诚然,它不是功能最齐全的IDE,但它完成了任务。一个限制是我不能使用Ant或Maven,所以我必须弄清楚如何使用普通的javac(通过SSH)进行构建

因此,我创建了一个小bash脚本,它创建了一个文件,其中包含所有源文件的相对路径,然后将其输入到javac中:

find -name *.java > classes.txt
javac @classes.txt

第一行工作正常,并生成预期输出。第二个似乎也能工作,甚至给了我编译错误(这是我所期望的)。但是,有几个类应该编译,但是没有生成相应的类文件。这是预期的行为吗?为什么当我手动将多个文件名作为参数(即使包括产生错误的文件名),但当我使用@file表示法时,它不起作用?

试试
javac$(find.-name“*.java”)
。您还可以考虑支持Maven、Ant、SBT或Gradle的不同IDE。不支持构建工具(如Ant或Gealle)实际上是一个相当大的问题。Netbeans简单而轻量级,完全支持Java。我不认为它可以在手机上运行,但它几乎可以在其他任何东西上运行。我猜javac在列出足够数量的错误时会停止这个过程。无论如何,当出现编译时故障时,即使它为java文件生成的类很好,也没有关系。除非应用程序完全编译,否则您将无法运行该应用程序。@markspace我使用CodeAnywhere,以便从手机中编写代码。如果你能找到另一种方法让我轻松地做到这一点,我就打开了。文件名在
classes.txt
中的显示顺序是否与直接包含在命令行中时的顺序相同?如果您能给我们一个简短、具体的示例(例如,有两个文件,包括完整的源代码),在使用
@file
语法和直接在命令行上列出文件时,它的行为会有所不同,这会有所帮助。