Programming Language/Java

[Java] Mac VsCode zsh: command not found: 에러

LeeJaeJun 2023. 12. 31. 01:42
728x90
반응형

Java의 정석의 예제코드를 따라 공부하려고 하니 다음과 같은 에러가 나타났다.

import java.util.*;

public class ExpValidCheck {
    public static void main(String[] args){
        if(args.length!=1){
            System.out.println("Usage: java ExpValidCheck \"EXPRESSION\"");
            System.out.println("Example: java ExpValidCheck \"((2+3)*1)+3\"");
            System.exit(0);
        }

        Stack st = new Stack();
        String expression = args[0];

        try{
            for(int i = 0; i < expression.length(); i++){
                char ch = expression.charAt(i);

                if(ch=='('){
                    st.push(ch+"");
                } else if (ch==')'){
                    st.pop();
                }
            }
            if(st.isEmpty()){
                System.out.println("괄호가 일치합니다.");
            } else {
                System.out.println("괄호가 일치하지 않습니다.");
            }
        }catch(EmptyStackException e){
            System.out.println("괄호가 일치하지 않습니다.");
        }
    }
}
//예제코드
(base) leejaejun@ijaejun-ui-MacBookPro Practice % java ExpValidCheck
오류: 기본 클래스 ExpValidCheck을(를) 찾거나 로드할 수 없습니다.

기본 클래스를 찾거나 로드할 수 없다는 에러가 생긴 이유는 현재 내가 위치한 곳에 ExpValidCheck.class가 형성되어 있지 않기 때문이다. 그냥 바로 디버깅을 하였을 때, 실행과정 중 -cp /Users/leejaejun/Desktop/JavaProject/Practice/bin ExpValidCheck 가 있다는 것을 발견하여 터미널에서 클래스가 위치한 폴더가 /Users/leejaejun/Desktop/JavaProject/Practice/bin라는 것을 알 수 있었다.

(base) leejaejun@ijaejun-ui-MacBookPro Practice % cd /Users/leejaejun/Desktop/JavaProject/Practice/bin

현재 폴더를 class가 위치한 폴더로 변경한 뒤

(base) leejaejun@ijaejun-ui-MacBookPro bin % java ExpValidCheck
Usage: java ExpValidCheck "EXPRESSION"
Example: java ExpValidCheck "((2+3)*1)+3"
(base) leejaejun@ijaejun-ui-MacBookPro bin % java ExpValidCheck (2+3)*3
zsh: no matches found: (2+3)*3

실행을 시켜보았으나 이번에는 zsh: no matches found: 오류가 생성되었다.

구글링을 해본 결과 일으킬 수 있는 다양한 원인이 있는 것 같았다. 현재 zsh상에 파라미터를 받지 못하는 상황이기에 파라미터를 작은 따옴표('')로 감싸주었더니 해결이 되었다.

(base) leejaejun@ijaejun-ui-MacBookPro bin % java ExpValidCheck '(2+3)*3'
괄호가 일치합니다.

다른 해결방법이 필요한 상황이라면 이 웹사이트를 참고.

https://www.easeus.co.kr/mac-data-recovery/zsh-command-not-found.html

728x90
반응형