[linux 학습]vim 컴 파일 실행 자바 프로젝트 HelloWord(linux mint)
5076 단어 링크 ux 학습
zsl@zsl-pc ~/Project/helloword $ tree
.
├── bin
│ ├── dosth
│ └── hello
├── lib
└── src
├── dosth
│ └── Say.java
└── hello
└── Hello.java
7 directories, 2 files
bin class
src java
lib jar
Say.java
package dosth;
public class Say{
public void say(){
System.out.println("helloword!");
}
}
Hello.java
package hello;
import dosth.Say;
public class Hello{
public static void main(String arg[]){
Say say = new Say();
say.say();
System.out.println("hello!!");
}
}
[javac 컴 파일]
zsl@zsl-pc ~/Project/helloword $ javac -cp lib:bin -Djava.ext.dirs=lib -d bin src/hello/*
src/hello/Hello.java:2: : dosth
import dosth.Say;
^
src/hello/Hello.java:5: :
Say say = new Say();
^
: Say
: Hello
src/hello/Hello.java:5: :
Say say = new Say();
^
: Say
: Hello
3
zsl@zsl-pc ~/Project/helloword $ javac -cp lib:bin -Djava.ext.dirs=lib -d bin src/dosth/*
zsl@zsl-pc ~/Project/helloword $ javac -cp lib:bin -Djava.ext.dirs=lib -d bin src/hello/*
첫 번 째 컴 파일 오류 가 발생 한 것 은 Say 클래스 가 아직 불 러 오지 않 았 기 때 문 입 니 다.
사용 하 는 시스템 은 Ubuntu 입 니 다.디 렉 터 리 간 에 사용 하 는 것 은:콜론 분리,windows 라면 바 꿉 니 다.분점
[-cp lib:bin]컴 파일 과정 에서 class 가 있 는 폴 더 의 경 로 를 도입 해 야 합 니 다[-java.ext.dirs=lib]가 도입 한 제3자 jar 패키지 에 저 장 된 디 렉 터 리 는 제3자 jar 패키지 컴 파일 을 참조 할 때 이 매개 변 수 를 통 해 해당 경로 에서 찾 습 니 다[-d bin src/hello/]는[src/hello/]를 컴 파일 하여[bin]아래 에 놓 으 면 해당 디 렉 터 리 에 자동 으로 일치 합 니 다.
컴 파일 된 디 렉 터 리 구조:
.
├── bin
│ ├── dosth
│ │ └── Say.class
│ └── hello
│ └── Hello.class
├── lib
└── src
├── dosth
│ └── Say.java
└── hello
└── Hello.java
클 라 스 가 두 개 더 생 겼 어 요.
[자바 실행]
zsl@zsl-pc ~/Project/helloword $ java -cp bin -Djava.ext.dirs=lib hello.Hello
[-cp lib:bin]컴 파일 과정 에서 class 가 있 는 폴 더 의 경 로 를 도입 해 야 합 니 다[-java.ext.dirs=lib]가 도입 한 제3자 jar 패키지 에 저 장 된 디 렉 터 리 는 제3자 jar 패 키 지 를 참조 하여 컴 파일 할 때 이 매개 변 수 를 통 해 해당 경로 에서[hello.Hello]를 찾 습 니 다.
[주의]이곳 의 많은 곳 은 경로 와 관련 되 어 스스로 조정 합 니 다.