문제

내 디렉토리 구조는 다음과 같습니다.

/user/a/user/b/user/b

내부 폴더 A, B, C 파일 Person.java가 있습니다 (동일한 파일, 한 줄 수정입니다.

이제 내 쉘에서 내 / 사용자 / 디렉토리에 메신저를하고

   javac */person.java

쉘은 다음 오류를 반환합니다.

person.java:14 : 복제 수업 : 사람

이것을 해결할 것이 있습니까?

도움이 되었습니까?

해결책

여기서 문제는 Javac이 한 번에 모든 것을 컴파일하려고한다는 것입니다. 이는 자연스럽게 복제 된 클래스 정의를 초래합니다.

이것을 해결하는 간단한 방법은 것입니다

find . -name '*.java' -exec javac {} \;

편집하다:

또는 더 정확합니다 find . -name 'person.java' -maxdepth 2 -exec javac {} \;

다른 팁

나는 작은 쉘 스크립트로 갈 것입니다.

for f in */person.java; do
  javac $file
done

첫 번째 줄은 모든 파일을 찾아서 하위 지사에서 두 번째 줄에서 파일을 컴파일합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top