Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- SQL Server 구성 관리자
- 스프링 시큐리티
- RAISERRR
- 자바
- DB
- 프로시저
- github
- 데이터베이스
- ERROR_MESSAGE
- C#
- jpa
- SQL Server
- cors
- SSMS
- 권한
- IT
- JavaScript
- OUT 파라미터
- SOP
- java
- Exception in thread "main" java.lang.Error
- System.Text.Json
- git
- 스프링부트
- springboot
- ORM
- MSSQL
- Newtonsoft.Json
- .NET 8.0
- IT story
Archives
- Today
- Total
its_jh_stroy
[Java] 프로젝트 만들자마자 ClassNotFoundException 본문
vsCode로 자바 프로젝트를 만들고, App.java 파일을 실행해 보았더니 아래와 같이 오류가 발생했다.
Error: Could not find or load main class java.test.App
Caused by: java.lang.ClassNotFoundException: java.test.App
진짜 아무것도 안 했는데 오류가 발생해서 많이 당황했다.
패키지 변경하기
알고 보니 이유는 패키지 이름의 문제였다.
"java"로 시작하는 패키지는 JDK에서 사용하는 내장 패키지이므로, 사용자가 직접 "java"로 시작하는 패키지를 생성할 경우 발생하는 오류이다.
따라서 문제가 되는 App.java 위치를 옮겨 패키지를 변경해 주었다.
// 패키지 이름 수정
// package java.test;
package exam;
public class App {
public String getGreeting() {
return "Hello World!";
}
public static void main(String[] args) {
System.out.println(new App().getGreeting());
}
}
build.gradle 파일 수정하기
이제 App.java 파일을 실행하면 정상적으로 "Hello World!"가 출력된다.
하지만 App.java 패키지를 변경한 경우 여기서 끝내면 빌드할 때 오류가 발생할 것이다.
build.grade 파일에서 mainClass를 수정해야 한다.
application {
// Define the main class for the application.
mainClass = '수정한 패키지.App'
}
AppTest 클래스 수정하기
마지막으로 test 폴더에 있는 AppTest 클래스도 수정해야한다.
App 클래스와 동일한 패키지로 경로를 이동 후 패키지를 수정한다.
// 패키지 이름 수정
// package java.test;
package exam;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class AppTest {
@Test void appHasAGreeting() {
App classUnderTest = new App();
assertNotNull(classUnderTest.getGreeting(), "app should have a greeting");
}
}
'Java' 카테고리의 다른 글
[Springboot] Spring Security로 접근 권한 제어하기 (0) | 2024.07.18 |
---|---|
[Springboot] Spring Security로 인증과 권한 부여 (0) | 2024.07.15 |
[Springboot] thymeleaf로 화면 레이아웃 구성하기 (0) | 2024.06.30 |
[Springboot] 예외 한 번에 처리하기 (0) | 2024.06.23 |
[Springboot] MyBatis 사용해보기 (0) | 2024.06.17 |