Eclipse default package 오류 해결

Luna·2022년 11월 23일
0

맥북에서 개발하기

  • 코딩용 노트북이 따로 있지만 맥북을 프로버전이나 사놓고 안쓰기 아까워서 학원에서 수업하는 것 이외에 개인적으로 공부를 할 땐 맥북을 써보려고 한다.

Java & Eclipse version

  • 자바의 정석으로 예습을 할 때 java 1.8 버전으로 예습을 했는데, M1에서는 1.8을 쓰려면 이클립스도 낮은 버전을 써야 하고, 그러면 M1에서 오류가 난다해서 이클립스를 높은 버전으로 설치 했다. 이클립스 최신 버전은 java 1.8 버전을 지원하지 않아서 부득이하게 java도 11 버전을 homebrew를 이용해 openJDK로 설치했다.

default package 오류 발생

  • 하던대로 설치하고 package 생성 없이 default package로 클래스를 생성하니 빨간색 엑스 표시가 나오면서 오류가 떴다.

    Must declare a named package because this compilation unit is associated to the named module 'test01'

  • Problem 탭을 열어보니 이런 오류가 떴다. 'test01'이라는 모듈에 연결 되어 있으니 같은 이름의 패키지를 만들어야 한다는 것이다.
  • Java 1.8 버전만 써서 몰랐는데 9버전 이후부터 모듈을 지원한다는 것이다.

오류 해결

  • 클래스 생성시에 Create module-info.java file을 체크 해제 하고 만들었더니 오류가 발생하지 않았다.

Package와 Module의 차이점

참조 블로그
패키지(package)와 모듈(module)의 차이점

Package

  • 클래스들의 묶음인 하나의 디렉토리

Module

  • 외부에서 재사용할 수 있는 패키지들을 묶은 것. 패키지의 상위 개념

나누어져 있는 이유

  1. 패키지의 캡슐화가 완벽하지 않다.
  2. 빌드 단계에서 프로그램 구동에 필요한 모든 클래스가 다 있는지 확인할 수 없다.
  3. 런타임이 거대해져 배포가 어려워졌다.

✔️ 나는 아직 모듈화를 쓸 줄 모르니 그냥 모듈 생성 하지 않고 공부하는걸로!

0개의 댓글