JAVA1

내 힘으로 컴파일

소개

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

강의1

 

 

 

강의2

 

 

 

강의3

 

 

 

강의4

 

 

 

강의5

 

 

 

댓글

댓글 본문
  1. esther
    21.09.17
  2. everdoit
    새삼 신기하네요 감사합니다~
  3. 2021.08.26 완료
  4. 이마누
    완료
  5. labis98
    20210807 좋은 강의 감사합니다~~^^
  6. super1Nova
    210803
  7. cmd로 java실행하는 방법
    1.cd compile할 file의 경로 ctrl+v
    2.dir
    3.javac
    4.javac file.java (ex.Programming.java)
    *.class 생성된 것을 확인하려면 dir
    5.java file (ex.Proramming)
    *java에게 해당 파일을 실행하도록 명령

    Elevator.java에 첨부된 OKjava.java같이 다른 사람의 코드가 첨부된 소스 코드를 실행할 경우
    1.javac 실행할 file.java (ex.OKJAVA.java)
    이 경우 실행할 file만 javac로 컴파일해도 다른 사람의 코드 파일도 같이 .class 생성됨.
    즉, javac OKjava.java만 컴파일해도 Elevator.class파일도 같이 생성된다는 것.

    cmd로 java를 실행할 경우, imput을 사용하여 변수값을 쉽게 바꿀 수 있다.
  8. 피톤치드
    강의 5 : 이클립스와 같은 툴을 사용하여 아규먼트를 입력 받는 것 보다 " "안에 내용만 바꿔서 실행하면 되기때문에 입력값을 주는 방법이 더 간편하다.
  9. 피톤치드
    강의 4 : 라이브러리란 각종 다른사람들이 만든 method들를 import하여 그 기능을 내 프로그램에서 사용할 수 있도록 빌려 쓸수있는 method 도서관이다.
  10. 피톤치드
    강의 3 : 처음 javac 파일명.java로 컴파일을 할 시에 파일.class이 생성되고 java 파일명 으로 실행을 한다. 그럼 jvm을 통해 main메소드에 접근하여 우리가 코딩을 한 프로그램이 실행되어 컴퓨터에서 프로그램이 수행된다.
  11. 피톤치드
    강의 2 : path 란 컴파일을 할 때 java 혹은 javac를 입력시에 java.exe 혹은 javac.exe 파일을 찾아 실행하는 경로이다.
  12. web1님 감사합니다...최고...오늘도 강의와 수강생의 팁 덕에 배워갑니다 최고
  13. 2021.07.24
    개발환경없이 Java에서만 java 컴파일해서 실행하는 방법
    1) 환경 설정 확인
    2) 디렉토리 확인
    3) 컴파일 하기
    3-1) 외부 라이브러리 사용 안함
    3-2) 외부 라이브러리 사용하는 경우
    - 경로 다른 경우 -cp ".; lib'
    4) 입력값 부여하기
    - argument 입력하기
  14. 님들
    javac OkJavaGoInHome.java 쳤을때 오류 나면서 첫번쨰 문장쯤에
    java:10: error: unmappable character for encoding MS949
    System.out.println(this._id+" ?넂 Elevator callForUp stopFloor : "+stopFloor);
    이런거 비슷하게 뜨면
    원래 자바 코드를 utf-8인코딩으로 코드를 작성했는데 이 명령프롬프트(cmd)의 자바에서 MS949로 인코딩을 해버릴려고 하니까 인코딩 방식이 맞지않아 오류가 난거에요
    그러니까
    javac OKJavaGoInHome.java -encoding utf-8 이렇게 적어주심 됨요. 이거 뜻은 'OKJavaGoInHome.java를 컴파일 할떄 utf-8로 인코딩해라' 라는 소리입니다.
    그러면 cmd의 자바가 MS949로 더이상 컴파일 하지 않고 utf--8로 인코딩을 하게 되어 인코딩 형식이 서로 똑같아 오류가 해결될겁니다


    그리고 위의 상황을 해결한뒤 두번쨰,
    javac -cp ".;lib" OKJavaGoInHome.java 이렇게 쳤는데 계속 파일이 같은 위치에 있지 않아 오류가 뜨면 ".; " 여기 사이에 자신이 programming 파일에 새로 생성한 파일명과 이름이 똑같게 적어주시면 됩니다.


    그래서 바꿨더니 또 MS949 어쩌구 하면, 아직 org.opentutorials.iot 패키지 속의 여러 파일들(Elevator.java, Lighting,java 등등)은 utf-8로 인코딩이 안되었다는 소리겠죠?
    즉 위의 패키지속의 여러 .java 파일들도 utf-8로 인코딩이 되었지만 컴파일할때 MS949인코딩으로 컴파일을 해버려 서로 인코딩 방식이 맞지가 않아 오류가 일어난 겁니다. 첫번쨰 오류랑 비슷하죠?
    그러면 우리는 이렇게 적어줘야 합니다.

    javac -cp ".;lib" OKJavaGoInHome.java -encoding utf-8 이때 ".; " 여기 사이에는 programming파일안에 새로 생성한 파일 이름명을 똑같이 써주시면 됩니다. 꼭 lib일 필요 없음
    쩃든 그러면 이코드의 뜻은
    'lib파일 안에 들어있는 모든 .java파일들과 OKJavaGoInHome.java파일 둘다(javac -cp ".;lib" OKJavaGoInHome.java)' 'utf-8인코딩으로 컴파일해라(-encoding utf-8)' 라는 소리입니다.

    저는 위의 문제들을 https://thelibraryofbabel.tistory.com......%9C 여기서 참고 했습니다!


    ++'?냇' 이거는 화살표 표시가 변환되지 않아 한글로 써진것입니다, 신경 안쓰셔도 되요!
  15. Jaemin Lim
    21.07.14
  16. 조유빈
    2021.07.12 완료
  17. 초딩 개발자
    2021/06/11
  18. 미래프로그래머
    210607 다시 보러 오자.. 너무 어렵다
  19. ppapcorn
    210601 나중에 다시 보기
  20. Aaron81
    210513
  21. jeisyoon
    2021.04.29 Java Source Compile & Run Without Eclipse - OK

    >javac -cp ".;lib" OkJavaGoinHome,java - OK
    >java OkJavaGoinHome "Busan Apt 501" 30.5 - Ok
  22. 무브건
    위 댓글과 같은 문제가 일어났을 경우 12.4 강의 중 후술할 다음 문제도 일어났을 가능성이 높습니다.

    javac -cp ".;org" OKJavaGoInHome.java 실행했을 시
    "class file has wrong version 59.0, should be 52.0"
    같은 오류가 뜬다면 이 또한 개인 블로그에 해결방법을 정리해두었습니다.

    https://blog.naver.com......e=1
    대화보기
    • 무브건
      compile 된 class 파일을 실행시킬 때 java -cp "." Program까지 해봤는데
      "Exception in thread "main" java.lang.UnsupportedClassVersionError"
      같은 오류가 뜬다면
      https://blog.naver.com......e=1
      개인 블로그에 해결방법을 적어놓았습니다.
    • OrzlHB
      완료!!
    • anya422
      완료!
    • 난길
      명령어로 앱 실행할 때 입력값을 주면 좋은 점은 간편하게 입력값을 변경하여 실행하고 결과를 확인할 수 있다는 것이다.
    • 난길
      라이브러리는 말그대로 도서관처럼 다른 사람이 쓸 수 있도록 정리해놓은 java파일들이다
    • 난길
      java파일을 컴파일하면 class파일이 생성된다.
      class파일을 run하면 자바버츄얼머신이 돌아가면서
      메인을 실행하고, 컴퓨터로 결과가 출력된다.
    • 난길
      path는 자바파일을 컴퓨터 내에서 컴파일할 때 탐색하는 경로이다.
    • 레이
      2020.04.05
    • 비더베스트
      강의4 에서 javac로 컴파일 할 때 org 폴더를 아예 다른 위치에 옮겨도 될 줄 알았는데 오류가 뜨길래 왜그런가 계속 해봤더니 OkJavaGoInHome가 들어있는 디렉토리의 하위 어딘가에 저장 됬을 때만 실행이 되네요. 상위폴더나 아예 다른 경로로 옮기고 실행했을 때는 입력하니까 읽지 못하네요. java는 다른 경로에 있는 걸 실행하는건 되는데 javac는 다른 경로에 있는 걸 컴파일하려니 file not found 라고 뜨네요. 옛날 버전이라 그런가
    • 윤유상
      라이브러리
      다른 사람이 대신 만든 코드. 나보다 코딩을 잘하고 소프트웨어를 잘 아는 사람이 만든 코드라서 적절한 라이브러리를 잘 사용하는 것은 개발 속도를 훨씬 줄여준다.
    • chimhyangmoo
      21.03.30
    • 21-03-24
      간편하게 터미널 켜놓고 실행하고
      결과를 확인할 수 있어서 좋은 것 같다.
    • 변민성
      명령어로 앱을 실행할 때 입력값을 주게 되면
      일일이 번거롭게 수정을 하지 않아도 되며 (")안의 텍스트들만 변경해주면 된다.
      띄워쓰기를 통해 구별할 수 있으며, 컴퓨터는 0부터 출력하는 특징이 있다.
    • Sunho Kim
      완료(2021.03.16.월)
    • Q. 컴파일compile 실행과정에서 어떤 일이 일어나나요?
      - 윈도우 + R키를 누르면 뜨는 창에서 cmd를 입력하여 컴파일 과정이 가능합니다.
      컴파일을 통해 .java파일을 .class로 만들 수 있게 되고, 윈도우에서는 안되지만 다른 운영체제??리눅스??에서는 cat을 통해 어떻게 코딩되어있는지 확인할 수 있습니다.
    • 2021.03.05
    • 이현수
      2021.02.26(금)
    • 깅깅
      명령어로 실행할 때 입력값을 주면
      미리 입력해 놓지 않아도 되고실행할 때마다 파일에 들어가지 않고 입력값을 바로바로 변경하기도 쉽네요
      java를 활용해서 앱이라도 얼른 만들어봐야 장점을 더 알 수 있을것같네요
    • 깅깅
      컴파일하고 실행하는 과정에서는

      java파일이 javac라는 compiler를 통해서 byte code(JAVA VM의 기계언어)로 compile되어 class파일이 생성된다.

      실행의 과정은
      1. 내 java프로그램의 class파일을 찾는다.
      1. JAVA VM은 class파일에서 본인과 이름이 같은 class를 찾는다
      2. 그 안의 main이라는 method를 찾은 뒤, 중괄호 안에 있는 코드를 순서대로 실행하고 종료한다.

      라이브러리는 다른 사람이 사용할 수 있도록 정돈된 프로그램을 말한다.
      부품처럼 내가 원하는 곳에 선택적으로 사용할 수 있습니다
    • well-being
      12-4 영상
      javac -cp에서 막혔습니다.
      원인을 찾아보니
      javac -cp <path(경로)> <source file> 이 명령어인데,
      path는 lib의 위치를 입력해야 합니다.
      (저는 영상에서처럼 ".:lib" 으로 하니 됐습니다. [리눅스라서 :을 사용])

      제가 문제되었던건 source file인데,
      영상처럼 OKJava~~.java로 하면 안되었고 OKJava~.java의 위치를 정확히 입력해주어야 되었습니다.
      (저같은 경우 ./src/project/OKJava~.java 였습니다. [다른분들은 또 다를수도 있습니다.])

      출처는 : https://suzxc2468.tistory.com/193 입니다.
    • baeroro
      20210206

      4번 강의부터 막혀서 일단 구경모드ㅠㅠㅠ
    • 규영아빠
      20210205 완료
    • 컴파일 시 .class라는 확장자를 가진 파일이 만들어지며, 실행 시엔 이 파일이 실행된다.
      라이브러리는 내가 아닌 다른사람 혹은 과거의 내가 미리 만들어놓은 파일들이다. 이 라이브러리를 이용하면 같은 코드를 다시 써야하는 번거로움을 줄일 수 있다.(프로그래밍을 좀 더 편하게 할 수 있다.)
      명령어로 앱을 실행할 때 입력값을 주면 이클립스에서 입력값을 설정하는 것보다 번거롭지 않게 앱을 실행할 수 있을 것이다.
    • submit
      완료!!
    • 1000210002
      2021/01/07
    • 꾸르를꾸
      PATH에 대해서
      - 컴퓨터 내에서 나의 경로..?ㅜ
      컴파일 과정에서 어떤 일이 일어나는지.
      - 자바파일을 통해서 클래스파일이 만들어지고 임포트된 자바파일이 존재하고 같은 카테고리에 존재한다면 같이 컴파일 되지만 다른 카테고리에 존재한다면 수동적으로 직접 경로를 입력해서 컴파일 시켜야함
      라이브러리란
      - 이미 만들어놓은 자바파일들을 의미하며 다른 사람들과 공유되어 자유롭게 쓸 수있는 도서관을 생각하면 된다.
      명령어로 앱을 실행할 때 입력값을 주면 어떤것이 좋은지
      - 사용자마다 입력값을 달리하여 각기 사용자에 맞는 출력값을 낼 수 있다.
    • 아츄
      201228
    • artmaker
      이클립스에서는 버튼하나로 컴파일과 런이 모두 실행되니까 어떤식으로 이뤄지는지 감이 덜왔었다. 이렇게 명령어를 직접입력해서 class파일을 생성시키고 java파일을 동작시키는 과정을 직관적으로 보니까 실행과정이 어떻게 이루어지는지 이해를 할 수 있었다. 그리고 import문으로 참조된 파일들도 컴파일시키면 같이 class파일이 생성되는것이 신기했다.
      다른사람이 사용할 수 있도록 잘 정리된 프로그램들을 라이브러리라고한다. 우리는 이를 이용해서 많은 코딩을 하게될것이고 매우 중요하다.
      커맨드창에서 명령어로 인자값을 전달하는것이 이클립스에서 여러과정을 거치는 것보다 훨씬 간편하다.
    버전 관리
    egoing
    현재 버전
    선택 버전
    graphittie 자세히 보기