名称为 class 的 Javac 编译器错误 antbuild
Javac compiler bug with class name antbuild
当我 运行 遇到一个我无法解释的问题时,我正试图做一个编译 java 项目源代码的 ant 构建。首先是我的蚂蚁目标:
<target name="compile-companymanage" depends="compile-company">
<mkdir dir="${companymanagebin}"/>
<javac destdir="${companymanagebin}">
<src path="${companymanagesrc}" />
<classpath refid="companyManage.classpath"/>
</javac>
</target>
在 运行 之后我收到错误:
[javac] project\src\com\company\manage\vo\InvoiceLineSupplierVM.java:31: error: class InvoiceLineSupplierVM is public, should be declared in a file named InvoiceLineSupplierVM.java
[javac] public class InvoiceLineSupplierVM
[javac] ^
[javac] 1 error
我们已经在不同的项目中尝试过,它们编译得很好。希望有人能帮助我。
我们已尝试重命名该文件并 class 使用相同的名称。
为完整起见添加答案,并简化将来会遇到此错误的其他人的生活。
很可能您的其中一个名字中有一个不可打印的字符,您的 class 名字或您的文件名。这将导致编译器拥有或期望的不匹配。
解决这个问题,通常是对涉及的文件和classes进行重命名。重要的是,在重命名时,不要复制和粘贴名称,而是将其键入。这将确保不可打印的字符不会出现在文件名称中,并且 class 发生了。
当我 运行 遇到一个我无法解释的问题时,我正试图做一个编译 java 项目源代码的 ant 构建。首先是我的蚂蚁目标:
<target name="compile-companymanage" depends="compile-company">
<mkdir dir="${companymanagebin}"/>
<javac destdir="${companymanagebin}">
<src path="${companymanagesrc}" />
<classpath refid="companyManage.classpath"/>
</javac>
</target>
在 运行 之后我收到错误:
[javac] project\src\com\company\manage\vo\InvoiceLineSupplierVM.java:31: error: class InvoiceLineSupplierVM is public, should be declared in a file named InvoiceLineSupplierVM.java
[javac] public class InvoiceLineSupplierVM
[javac] ^
[javac] 1 error
我们已经在不同的项目中尝试过,它们编译得很好。希望有人能帮助我。
我们已尝试重命名该文件并 class 使用相同的名称。
为完整起见添加答案,并简化将来会遇到此错误的其他人的生活。
很可能您的其中一个名字中有一个不可打印的字符,您的 class 名字或您的文件名。这将导致编译器拥有或期望的不匹配。
解决这个问题,通常是对涉及的文件和classes进行重命名。重要的是,在重命名时,不要复制和粘贴名称,而是将其键入。这将确保不可打印的字符不会出现在文件名称中,并且 class 发生了。