πŸ’»Tech/🐧Linux

[λ¦¬λˆ…μŠ€] JAVA 파일 μ‹€ν–‰ 방법

_viper_ 2019. 11. 21. 17:45
λ°˜μ‘ν˜•

java 파일 μƒμ„±ν•˜μ—¬ λ¦¬λˆ…μŠ€μ—μ„œ java μ‹€ν–‰ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

μžλ°”μ½”λ“œλŠ” λ©”μΈν•¨μˆ˜λ‘œ μž…λ ₯λ˜λŠ” 값을 좜λ ₯ν•˜λŠ” κ°„λ‹¨ν•œ μ½”λ“œλ‘œ μž‘μ„±ν–ˆμŠ΅λ‹ˆλ‹€.

public class test{
  public static void main(String[] args){
    for(String arg:args){
      System.out.println(arg);
    }
  }
}

 

1. java 파일 컴파일

- 디렉토리 μ•ˆμ— μžλ°”νŒŒμΌμ„ μ»΄νŒŒμΌν•˜μ—¬ 클래슀 생성

- java 파일λͺ…κ³Ό μ½”λ“œ μ•ˆμ— class λͺ…을 λ§žμΆ°μ•Ό 함

javac -d . test.java

 

- μ—¬λŸ¬ lib jar 파일의 클래슀 패슀 μ—°κ²°ν•΄μ„œ μ»΄νŒŒμΌν•  λ•Œ

javac -d . -cp lib/hadoop-common-2.7.0.jar:lib/hadoop-distcp-2.7.3.jar:lib/hadoop-hdfs-2.6.0.jar:lib/hadoop-annotations-2.7.0.jar:lib/hadoop-mapreduce-client-core-2.3.0.jar DistCpTest.java

 

2. java 파일 μ‹€ν–‰

classpathλ₯Ό 정말 잘 μ„€μ •ν•΄μ€˜μ•Ό ν•©λ‹ˆλ‹€.. (NoClassDefFoundError둜 고생함..γ… γ… )

계속 classpathλ₯Ό λͺ»μ°Ύμ•„μ„œ μ €λŠ” μ½œλ‘ λ„ λΆ™μ—¬ ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

java -cp $CLASS_PATH: test TEST TEST

# μ•„λž˜ 방법 λͺ¨λ‘ μ‹€ν–‰ κ°€λŠ₯
 ex) java -cp . test TEST TEST
 ex) java -cp ./*: test TEST TEST
 ex) java -cp /home/my/test/*: test TEST TEST
 ex) java -cp clases:lib/* test TEST TEST

 

πŸ”Ž μš©μ–΄ 정리

  • classpath : μžλ°” λŸ°νƒ€μž„μ΄ class νŒŒμΌμ„ 찾을 λ•Œ μ‚¬μš©ν•˜λŠ” 경둜
  • cp : classpath
  • 콜둠(:) : 클래슀 νŒ¨μŠ€λ“€μ„ μ—°κ²°ν•  λ•Œ μ‚¬μš©
  • 점(.) : java λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜λŠ” 디렉토리λ₯Ό cp둜 μ§€μ •ν•˜κ² λ‹€λŠ” 의미
  • d : directory