JAVA1

내 힘으로 컴파일

소개

이클립스 없이 직접 컴파일하고, 실행하는 방법을 알아봅니다. 이클립스에서 독립합시다! 
 
 
 

강의1

 

 

 

강의2

 

 

 

강의3

 

 

 

강의4

 

 

 

강의5

 

 

 

댓글

댓글 본문
  1. 자바1일차
    좋은 감의 감사드립니다.
    포기하지 않고 끝까지 강의 시청하겠습니다!
  2. 김철흥
    2024.01.20
    완료!
  3. 집게사장
    2023.11.06 수강 완료
    1.path란 실행시키고자 하는 프로그램 파일의 경로가 저장된 환경 변수를 의미하며 이러한 path를 이용해 프로그램 파일의 경로를 찾거나 프로그램 파일이 설치되어있는지 확인해 볼 수 있다.
    2.javac 명령어로 컴파일을 진행하면 해당 소스 파일이 컴파일 된 클래스 파일을 생성하고, java명령어로 컴퓨터가 읽을 수 있는 클래스 파일을 읽고 그 안에 있는 main 메서드의 프로그램을 실행시킨다.
    3.라이브러리란 코딩에 활용 할 수 있는 다른 사람이 만들어 놓은 코드들의 모음이다. 라이브러리를 필요에 따라 찾아내고 잘 활용해 나가는 것도 개발자로써의 중요한 역량이다.
    4.일일이 입력값을 설정해줄 필요 없이 바로바로 필요한 입력 값을 실행과 동시에 넣어 줄 수 있어서 빠르고 편리해진다.
  4. John Kim
    강의3 후반에 cat Program.java 이 부분에서 윈도우즈 사용자는 type Program.java 로 하시면 같은 결과를 보실수 있습니다.
  5. 솜사탕
    2023.08.02 완료
  6. GodUser
    path란 환경변수를 설정해서 어떤 프로그램을 실행할 때 그 경로에 있는 프로그램은 시스템에서 바로 실행할 수 있도록 지정 하는 것이다.

    cmd로 컴파일 하는 과정은 다음 과 같다.
    javac 명령어로 클래스파일을 만들고 컴파일
    java 명령어로 실행하면 컴파일된 클래스파일을 jvm이 읽을 수 있게 되고 이 안에서 클래스파일명과 이름이 동일한 클래스를 찾고 그안에 main함수를 찾아 거기에 있는 실행내용을 시스템에게 전달하여 컴퓨터가 작업을 실행 하는 것이다.

    라이브러리는 프로그램을 실행하기위해 다른사람이 짠코드 혹은 main 함수가 있는 클래스 외부에 있는 코드를 모아놓은 것으로 이를 활용하면 다른 사람이 짠코드를 활용해 프로그램을 만들 수 있는 등에 협업이 가능해진다.
    이를 cmd에서 활용하는 방법은 라이브러리가 현재 디렉토리에 있지않으면 그 라이브러리가 있는 곳을 클래스패스에 등록하여 찾도록 해야하는데 그방법은 -cp ".;lib" 과같이 .은 현재 디렉토리이며 탐색할 다른 디렉토리를 추가하고 싶으면 window는 세미콜론 ;으로 구별하여 추가하면 되고 mac이나 linux는 세미콜론이 아닌 콜론: 으로 구별해주면 된다.

    앱에서 입력값을 넣는 것이 코드 내부를 뜯어서 매번 입력값을 코드안에 적어두고 실행하는 것보다 훨씬 간편하고 사용자가 사용하기 편하다.
  7. library: 컴퓨터공학에서 소프트웨어 개발에 이용되는 비휘발적인 문헌의 모음이다.
  8. 박지수
    java를 잡아
  9. 당당
    2023.04.08
  10. CODE
    학습완료
  11. 찐옥수수
    23.03.12 완 ~~
  12. 태봉이
    20230202
  13. 교사H
    22.01.20 12.3 까지는 이해갔는데 4, 5에서는 일단 보고 있기..
  14. 비전공자의반란
    23-01-10 완
  15. didit
    23.01.08
  16. 자바뿌시기
    22/12/31
  17. Min Jupiter
    22.12.07
  18. 화난 흰둥이
    221130
  19. forrest
    2022-11-04
  20. 꾸준히가답이다
    다른 사람들이 만들어 놓은 것을 활용하기 위해서 -> 라이브러리라는 개념을 사용한다.
    라이브러리를 사용하기 위해서 cmd 명령어 class를 읽어주기 위해서
    javac -cp ".;lib" 를 활용하게 된다. cp는 class path의 약자로서, 현재 디렉토리에서의
    Okjavaprogram class를 읽어주기 위해서 . 을 사용, 이후 같은 디렉토리에 있지 않은
    lib 폴더의 디렉토리에서 탐색을 위해서, 세미콜론 ;을 활용하여 탐색하고, 실행 할 수 있게 한다
  21. 보통사람 박코딩
    배우는 입장에서 이클립스를 사용 못하게 되는 환경에 처할 일이 얼마나 있는지가 궁금하고
    이클립스를 사용 할 수 있는 환경이더라도 이렇게 커맨드를 이용해서 실행하고 입력하는 방법이
    얼마나 더 획기적이고 실용적인 방법인지를 아직 이해를 하지는 못한다

    언젠가는 이런 컴파일 실행방법이 도움되는 날이 오겠지

    할수있다
  22. 자바자바
    명령어로 앱을 실행할 때 입력 값을 주면 우선 이클립스를 통해 입력값을 줄떄처럼 굳이 입력값을 넣지 않아도 자동으로 컴퓨터가 내가 미리 입력한 값을 넣어서 입력해 준다.
  23. 자바자바
    라이브러리란 다른 사람이 사용할 수 있도록 잘 정리정돈된 프로그램들
  24. 자바자바
    명령어에서 실행시키고 싶은 디렉토리로 cd 명령어를 사용해서 이동한 뒤 javac Program을 통해 class파일을 생성하고 java Program을 통해 파일을 실행시킬 수 있다.
  25. 자바자바
    Path는 환경변수로 Java가 속한 폴더를 Path에 추가하면 Java를 자동으로 실행시켜준다.
  26. 후토마끼
    22.10.05
  27. 코딩드림
    22.09.30
  28. 뿡공주
    다시 봐야할 듯....봐도봐도 이해가 잘 안된다..따흑
  29. 가능해
    22.09.14
  30. 일억개
    가보즈아~!!!!!!!!
  31. Asanagi
    22.08.09 완료
  32. xogk1128
    22.08.08 완료
  33. economin
    수강완료
  34. holideez
    나중에 다시듣기.. !
  35. 이클립스없이 수동으로JAVA 컴파일,실행하기

    cmd실행
    실행하고자하는 자바파일이 있는 폴더위에서 폴더경로를 복사한후에
    cmd창에서 cd+복사한주소입력후 엔터: cmd의 현재경로를 복사한 주소로 경로를지정
    javac ( c는 compile로 추정) 으로 class파일로 컴파일
    java 로 class파일을 실행하기

    +내가만든 자바파일이 순전히 내가만든 프로그램이아니라 다른사람이 만든프로그램을 import하여
    도구로 사용한거라면

    컴파일할 java파일이 다른사람이 만든 java파일들을 import해서 도구로 사용한경우에 컴파일할경우
    import하여 도구로사용한 java파일들도 같이 컴파일되서 class파일이 생긴다.

    이때 도구로사용한 java파일들이 있는 패키지가 컴파일할 java파일이 있는 현재위치와 다를경우
    --class-path 혹은 -cp + "폴더명" 으로 경로를 지정해주어서 찾게만든다. ( "." :현재위치를찾으라는뜻)
    ex) -cp "ABC;." : ABC폴더와 현재폴더에서 찾으라는뜻)



    +이때 arguments로 입력값을 따로 입력하게 했던 자바파일의경우 실행할때
    cmd에서 java + 실행하고자하는 자바클래스파일명 + arguments로 입력하고자 했던 값을 순서대로 입력하면된다.
  36. Osign
    22.07.02 시청 완료
  37. 은평구핵주먹곽두팔
    22.06.29 처음에 하다가 안돼서 구경모드로 시청함 완
  38. 디카페인
    220617 완
    하다가 중간부터 안되서 구경모드...
  39. muaa
    22.06.08 완

    이클립스 없이 컴파일하기 window ver,

    0. 내 PC 우클릭>속성>고급 시스템 설정>고급>환경 변수>(사용자 이름)에 대한 사용자 변수>path>jdk가 설치된 경로로 환경 변수 설정
    1. cmd 실행
    2. cd 주소 엔터로 java 파일이 있는 경로 지정
    3. javac 파일명.java로 수동 컴파일 (javac는 java compile로 추정)
    4. 내 것이 아닌 코드 (라이브러리, 패키지 등)가 있는 경우 자바 파일과 같은 경로에 존재해야 함.
    ㄴ4-1. 자바 파일과 같은 경로에 사용한 라이브러리(혹은 패키지)가 없는 경우 javac -cp ".;폴더명" 파일명.java로 라이브러리 혹은 패키지의 경로를 지정해주어야 함(세미 콜론으로 구분, 마침표로 현재 경로도 포함)
    5. 컴파일 하여 class 파일이 생성되었다면 java 파일명 으로 실행
    ㄴ5-1. 자바 파일과 같은 경로에 사용한 라이브러리(혹은 패키지)가 없는 경우 마찬가지로 java -cp".;폴더명" 파일명 으로 실행
    6. input 값을 입력하려면 java 파일명.java "args[0]에 들어갈 input값" "[1]에 들어갈 input 값"(띄어쓰기로 구분)
  40. 임인택
    Program.java:11: error: unmappable character for encoding MS949
    //留뚯빟 ?쐞 肄붾뱶媛? 援됱옣?엳 蹂듭옟?븳 肄붾뱶?씪硫??? 오류 발생

    검색을 통해 javac Program.java -encoding UTF-8로 입력

    해결된듯하여 다음 스텝으로 이동
    C:\Users\82105\Desktop\생활코딩\Java\Programming\src\main>java

    다시 아래와 같이 오류 발생 ㅠㅠ
    C:\Users\82105\Desktop\생활코딩\Java\Programming\src\main>java Program
    오류: 기본 클래스 Program을(를) 찾거나 로드할 수 없습니다.

    C:\Users\82105\Desktop\생활코딩\Java\Programming\src\main>java -cp "." Program
    오류: 기본 클래스 Program을(를) 찾거나 로드할 수 없습니다.

    C:\Users\82105\Desktop\생활코딩\Java\Programming\src\main>java Program -encoding UTF-8
    오류: 기본 클래스 Program을(를) 찾거나 로드할 수 없습니다.
  41. 코딩뿌셔본다
    컴파일Compile!
    ① Comile ! .java 확장자가 붙은 소스코드를 .class 확장자가 붙은 실행파일로 바꾼다.
    ② Run ! 클래스 확장자가 붙은 파일을 실행한다.
    ③ Input ! 실행할 때 입력값을 주어 입력값마다 다르게 동작하는 출력값을 만든다.

    어떻게 java라고 명령을 내렸을 때 이 명령이 실행되는 이유가 뭘까?
    그것은 path 라고 불리는 환경변수 때문인데...
    윈도우에서는 내 PC 우클릭>속성>고급 시스템 설정>고급>환경 변수>(사용자)에 대한 사용자 변수>path>jdk가 설치된 경로를 작성해 환경변수 설정이 가능하다.

    낯설고 건드리면 안될것처럼 생겼던 명령 프롬프트에 직접 과감하게 클래스를 찾게 하고 그 안의 코드를 읽게 만들고... 적는 것에 따라 꼬박꼬박 잘 대답하는 cmd를 보니 굉장히 신기하다.
  42. TYPP
    2022.05.03 완료
  43. 육도
    2022.04.30 완료
  44. kinioh
    220318
  45. thom
    220318 완료
  46. 윤원
    220214 완료
  47. 열정jk
    220206 감사합니다
  48. KeiJx2
    2022/02/03
  49. MUK_
    22/02/02
    처음부터 잘못됐나..? 한번 다 보고 다시 한바퀴 돌기
  50. 나연
    2021년 1월 31일 (월) 완료

    ```bash
    # Ubuntu
    $ readlink -f $(which java)
    $ readlink -f $(which javac)
    ```

    Path (환경변수)
    - User variables
    - System variables

    ```bash
    # Mac or Linux
    $ echo $PATH
    $ nano ~/.bash_profile
    ```

    ```bash
    # Windows
    $ cd # Then right-click to paste the thing copied
    ```

    ```bash
    # Windows
    $ javac <java-file>
    # If error
    $ javac -cp "." <java-file> # cp stands for classpath; "." means the current dir
    $ java Program # Don't include .class at the end of "Program"
    $ type Program.java # Windows equivalent of the Unix command "cat"
    ```

    Java source code (`Program.java`) -- Compile: `$ javac Program.java` --> Java application (`Program.class`) -- Run: `$ java program` --> Java Virtual Machine -- `Program.main` --> computer

    Package

    ```bash
    # package is now under /lib
    $ javac -cp ".;lib" GoingHome.java # In Mac and Linux, use : instead of ;
    $ java -cp "lib" GoingHome # Tells Java that GoingHome is under /lib
    $ java -cp ".;lib" GoingHome # "lib"이라고만 하면 "lib" 안에서만 찾음 (같은 디렉토레에서 찾지 않음). 따라서 .이 필요
    ```

    Exception: 자바에서의 error

    Library

    ```bash
    $ tree .
    ```

    ```bash
    # After moving /org out of /lib
    $ java GoingHome "507 Java Apt" 15.0
    ```

    =====
    윈도우 cmd에서 `tree` 작동 안 되는 분들:
    환경변수에 C:\Windows\System32 추가하면 됩니다.
    =====
    error: unmappable character (0x80) 뜨면
    `$ javac -encoding UTF-8 <java-file-name>` 이렇게 `-encoding UTF-8` 플래그를 넣으면 됩니다.
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기