2015-01-23 3 views
1

내가 설명 할 수없는 문제에 부딪혔을 때 자바 프로젝트 소스 코드를 컴파일 한 앤트 빌드를 시도했다. 먼저 내 개미 대상 : 우리는 다른 프로젝트를 시도자바 클래스 컴파일러 버그 (클래스 이름 antbuild)

[javac] project\src\com\company\manage\vo\InvoiceL‌ineSupplierVM.java:31: error: class InvoiceLineSupplierVM is public, should be declared in a file named InvoiceLineSupplierVM.java 
[javac] public class InvoiceL‌ineSupplierVM 
[javac]  ^
[javac] 1 error 

그들은 잘 컴파일 :

<target name="compile-companymanage" depends="compile-company"> 
    <mkdir dir="${companymanagebin}"/> 
    <javac destdir="${companymanagebin}"> 
     <src path="${companymanagesrc}" /> 
     <classpath refid="companyManage.classpath"/> 
    </javac> 
</target> 

내가 오류를 얻을 실행 한 후. 누군가 나를 도울 수 있기를 바랍니다.

같은 이름의 파일과 클래스 이름을 변경했습니다.

+2

이 특정 클래스 또는 파일 이름에 인쇄 할 수없는 문자가 있는지 확인할 수 있습니까? – npinti

+0

이것은 일식을 통해 컴파일 할 수 있으므로 무엇을 말할 지 모르겠다 @npinti – Florenze

+0

여분의 공간 때문에 이름을 확인하지 않겠다는 제안을했습니다. 완전성을 위해서'InvoiceLineSupplierVM.java : 31'은 클래스의 감속을 포함합니까? 또한, 완전을 기하기 위해 클래스와 파일의 이름을 바꿀 수 있습니까? 그래서 다시 같은 이름을 입력할까요? 이렇게하면 숨겨진 문자 *는 모두 제거해야합니다. – npinti

답변

1

완성을 위해 답변을 추가하고 앞으로이 오류가 발생할 다른 사람들의 생명을 단순화하십시오.

대부분의 경우 이름 중 하나에 클래스 이름이나 파일 이름 중 인쇄 할 수없는 문자가 있습니다. 이로 인해 컴파일러가 가지고 있거나 기대하는 것 사이에 불일치가 생깁니다.

이 문제를 해결하려면 일반적으로 관련된 파일과 클래스의 이름을 바꾸는 것이 좋습니다. 이름을 바꿀 때는 이름을 복사하여 붙여 넣지 말고 입력하는 것이 중요합니다. 인쇄 할 수없는 문자가 파일 및 클래스의 이름에 제대로 저장되지 않도록하는 것이 중요합니다.