JAVA1

내 힘으로 컴파일

소개

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

강의1

 

 

 

강의2

 

 

 

강의3

 

 

 

강의4

 

 

 

강의5

 

 

 

댓글

댓글 본문
  1. won4175
    2021.10.11
  2. 가람
    이후 복습 필
  3. 주간식당메뉴
    21.10.04. 슬슬 어려운 내용이 많이 나오네요. 앞으로 더 어려운 내요이 나오겠죠? 슬슬 복습의 필요성을 느낍니다.
  4. esther
    21.09.17
  5. everdoit
    새삼 신기하네요 감사합니다~
  6. 2021.08.26 완료
  7. 이마누
    완료
  8. labis98
    20210807 좋은 강의 감사합니다~~^^
  9. super1Nova
    210803
  10. 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을 사용하여 변수값을 쉽게 바꿀 수 있다.
  11. 피톤치드
    강의 5 : 이클립스와 같은 툴을 사용하여 아규먼트를 입력 받는 것 보다 " "안에 내용만 바꿔서 실행하면 되기때문에 입력값을 주는 방법이 더 간편하다.
  12. 피톤치드
    강의 4 : 라이브러리란 각종 다른사람들이 만든 method들를 import하여 그 기능을 내 프로그램에서 사용할 수 있도록 빌려 쓸수있는 method 도서관이다.
  13. 피톤치드
    강의 3 : 처음 javac 파일명.java로 컴파일을 할 시에 파일.class이 생성되고 java 파일명 으로 실행을 한다. 그럼 jvm을 통해 main메소드에 접근하여 우리가 코딩을 한 프로그램이 실행되어 컴퓨터에서 프로그램이 수행된다.
  14. 피톤치드
    강의 2 : path 란 컴파일을 할 때 java 혹은 javac를 입력시에 java.exe 혹은 javac.exe 파일을 찾아 실행하는 경로이다.
  15. web1님 감사합니다...최고...오늘도 강의와 수강생의 팁 덕에 배워갑니다 최고
  16. 2021.07.24
    개발환경없이 Java에서만 java 컴파일해서 실행하는 방법
    1) 환경 설정 확인
    2) 디렉토리 확인
    3) 컴파일 하기
    3-1) 외부 라이브러리 사용 안함
    3-2) 외부 라이브러리 사용하는 경우
    - 경로 다른 경우 -cp ".; lib'
    4) 입력값 부여하기
    - argument 입력하기
  17. 님들
    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 여기서 참고 했습니다!


    ++'?냇' 이거는 화살표 표시가 변환되지 않아 한글로 써진것입니다, 신경 안쓰셔도 되요!
  18. Jaemin Lim
    21.07.14
  19. 조유빈
    2021.07.12 완료
  20. 초딩 개발자
    2021/06/11
  21. 미래프로그래머
    210607 다시 보러 오자.. 너무 어렵다
  22. ppapcorn
    210601 나중에 다시 보기
  23. Aaron81
    210513
  24. 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
  25. 무브건
    위 댓글과 같은 문제가 일어났을 경우 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
    버전 관리
    egoing
    현재 버전
    선택 버전
    graphittie 자세히 보기