class Ex1 {

public static void main(String[] args) {

System.out.println("Hello World"); }

}

 

이 에러는 Java 9 이상에서 모듈 시스템이 도입된 이후에 발생하는 에러입니다.

에러 메시지를 해석해보면, "Ex1.class" 파일이 모듈의 최상위 디렉토리에서 발견되었기 때문에 모듈에 허용되지 않는 이름없는 패키지에서 발생한 예외라고 나와있습니다. 이는 Java 9 이상에서는 모듈 시스템을 사용하여 클래스와 패키지를 구성하는데, 이름 없는 패키지는 모듈 내에서 허용되지 않습니다.

이러한 경우에는 모듈 시스템에서 제공하는 모듈 디스크립터 파일(module-info.java)을 사용하여 모듈을 선언하고 패키지를 구성해야 합니다. 만약 모듈이 아닌 일반적인 Java 프로젝트로 작성한 경우에는 패키지 이름을 명시하여 디렉토리를 구성하면 해결할 수 있습니다.

즉, Ex1.java 파일이 있는 디렉토리에서 javac Ex1.java 명령어로 컴파일을 수행하면 Ex1.class 파일이 생성되며, 이 파일은 패키지 이름에 따라 디렉토리를 생성하여 저장하면 됩니다. 예를 들어, Ex1.java 파일이 포함된 디렉토리에서 "myPackage"라는 이름의 패키지를 생성하려면, Ex1.java 파일의 첫 줄에 package myPackage;를 추가하고, "myPackage" 디렉토리를 생성하여 Ex1.class 파일을 저장하면 됩니다.

 

패키지를 생성 후 .java 파일을 그 안에 넣자 "Hellow world"가 올바로 표시되었습니다.

'JAVA programing' 카테고리의 다른 글

JV 3. 홈페이지 만들기의 구성  (0) 2023.03.27
JV 2. 자바 API 사이트  (0) 2023.03.20

+ Recent posts