guricode

javac 실행시 Could not find or load main class 에러 본문

web/java&spring

javac 실행시 Could not find or load main class 에러

agentrakugaki 2025. 5. 13. 15:40

자바를 배우던중 예시에는 -cp . 없이도 작동하는 코드가 나에게는 작동이 안되는 경우가 있었다

Java 버전이 상이하여 발생된 이슈인데 예시에 사용된 코드는 

 

javac HelloWorld 였고 정상적으로 HelloWorld가 출력됐지만

똑같이 작성하고 실행해보면 

 

Error: Could not find or load main class HelloWorld
Caused by: java.lang.ClassNotFoundException: HelloWorld

 

일부 Java 버전, 그러니까 Oeacle JDK8이하 버전은 기본적으로 현재 디렉토리를 classpath에 포함했지만 JDK9버전 이상에서는 classpath를 명시적으로 지정하는게 권장되고있다.

그래서 cmd로 실행했을때 나의 Java 버전이 JDK9이상이기 때문에

javac HelloWorld

이 아닌

java -cp HelloWorld

로 작성해서 classpath를 지정해주고 실행해야 했던것이다.

 

 

그런데 -cp를 입력하지 않고 출력하고 싶은데...환경변수를 건드려봐도 잘 안되는것같다...

환경변수 설정에서 뭐가 잘못된것같은데...