728x90

이게 영역이 겹치다 보니까 조금 고민을 했다.

일단 Java니까 Usage-Java를 사용할 수 있고 자바 빌드 시스템이라고도 할 수 있기 때문이다.

고민을 좀 했다가 Eclipse탭에 적으려고 한다.

이번에는 자료가 조금 부족했지만 Eclipse는 도대체 어떠한 빌드 시스템을 사용하는지 알아보자,

먼저 기본 베이스는 자바로 설명하지만 다른언어에도 적용은 가능하다.


먼저 Eclipse Project의 디렉터리 구조를 한번 보면 예외없이 아래와 같이 되어있다.


이클립스에서 보여주는 프로젝트이지만 실제로는 저게이 3개의 숨김 파일이 더 있다.

해당 파일의 경로로 접근하여 보자.


보다시피 숨김파일(posix시스템에서 숨김파일은 .으로 시작)이 3개나 있다.

각각에 대한 설명을 한번씩 해보도록 하겠다.



.settings - 현재 프로젝트에서 사용하고 있는 컴파일러나 인터프리터의 셋팅 상태를 의미한다.

.classpath - 소스파일과 아웃풋파일등의 정보등이 기록되어있다.

.project - 해당 언어가 어떤언어인지, 어떤 컴파일러를 사용하는지가 기록되어 있따.


백문이 불여일견이다. 한번 보도록하자.


<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

먼저 위의 프로젝트는 .classpath의 내용이다.

보면 con,src,output이 정의되어 있다. 여기서 보면 손쉽게 각각의 의미하는 바를 알수있다.

con은 condition의 약자이며 현재 사용하고 있는 JRE가 무엇인지알 수 있다.

src는 source의 약자이며 소스코드의 위치를 알 수 있다.

output은 최종 빌드한 결과물이 저장될 위치를 알 수 있다.


<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Test</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

.project에서는 프로젝트의 이름이 무엇인지, 또한 프로젝트를 무엇으로 빌드하는지 알 수 있다.

여기서 Eclipse에서 우리가 gui에서 작업을 해서 프로젝트를 하게 되면 .settings, .project, .classpath, src, bin이 생기게 된다는걸 알 수 있다.


그럼 이제 이를 커맨드라인에서 빌드해보자.

먼저 eclipse자체(윈도우에서는 eclipse.exe)가 설치된 경로로 간다.

그 다음 terminar(윈도우에서는 cmd)를 켠다.

./eclipse(윈도우라면 eclipse.exe) -nosplash -application org.eclipse.jdt.apt.core.aptBuild -import "당신의 프로젝트 경로" -build "프로젝트명"


위와 같이 입력하면 커맨드라인에서 빌드를 할 수 있다.

여기서 -application을 바꿔주면 다른 언어로도 빌드 할 수 있다.

그건 여기서 다루지 않겠다. 만약 그게 필요하다면 검색하라.


그럼 마지막에서 터미널 환경에서"만"되는 x윈도우가 지원되지 않는 리눅스환경에서 한번 빌드해 보도록하자.

즉 gui가 되지않는 리눅스(ec2 우분투)에서 커맨드 툴로만 빌드해보도록 하겠다.

중요한건 .settings는 없어도 된다. 아니 정확히 말하면 없는게 도움된다.


먼저 필자의 프로젝트를 git에 올렸다.

git에 .settings가 올라가 있지만 솔직히 말하면 ignore하는게 도움되므로 지우던가 없애던가한다.

그러나 .classpath와 .project는 있어야한다. 이는 기본 구조 중 하나이기 때문이다.


그럼 리눅스 환경에서 해보자.



다행히도 devian계열인 우분투에서는 저장소에 eclipse가 있어 매우 쉽게 설치할 수 있다.

rpm이나 슬랙웨어 계열은 잘 모르겠다... 정 안되면 이미 다운받아진 eclipse를 ftp나 git등으로 전송하는 방법도 있다.


sudo apt-get install eclipse


이제 eclipse가 설치되었으므로 eclipse를 명령어로 쓸 수 있다.

이제 git에 올린 프로젝트를 내려 받아보겠다.



클로닝을 해서 프로젝트를 받고나면 해당 프로젝트가 제대로 있음을 확인할 수 있다.

여기서 테스트를 위하여 bin을 지우던가 bin을 없애라.

그다음 위에서 시킨대로 빌드를 한번해보자.



제대로 빌드가 실행되는것을 확인할 수 있다.



보다시피 제대로 빌드되었다.

eclipse빌드 시스템을 쓰더라도 이렇게 커맨드라인에서 빌드를 할 수 있다.







+ Recent posts