VI JAVA 컴파일 / ANT에 대해서 질문 올립니다.

thedig의 이미지

JAVA를 이용해서 WIPI / SK-VM 용 모바일 게임 개발을 하고 있는데요,
원래 에디터 플러스와 같은 툴을 사용하다가 이번에 새로운 프로젝트를
시작하면서 ANT도 사용하고 VI로 툴을 전환 해보자는 생각에
VI를 사용하게 되었습니다.
(당초 Eclipse를 사용할려고 했으나 개발하는 PC 사양이 너무 낮아서 무겁더군요 :()

우선 VI에서 자바 컴파일에 대한 기초적인 질문입니다.

vim에서 java 파일을 읽을시 자동적으로 myjava.vim 파일을 읽어서 환경을
설정하는데까지는 성공했는데, 여기서 부터 막히는 부분입니다.

-bootclasspath 플래그를 줘서 루트 클래스를 읽어 와야하는데
플래그 설정 하는 방법을 모르겠군요.
javac 뒤에다가 플래그를 장황하게 적었더니 vim 설정 파일을 읽을때 부터
오류가 나더군요. 그래서 도움을 요청합니다.

아래 부분이 myjava.vim에서 자바 컴파일 설정 부분입니다.

set makeprg=javac\ %
set errorformat=%A%f:%l:\ %m,%-Z%p^,%-C%.%#

적용시켜야 하는부분은 아래와 같구요.

%JAVA_HOME%\BIN\javac -bootclasspath %WIPI_CLASSROOT%\classes.zip -d ./classes ./src/*.java

'%JAVA_HOME%'의 경우 기존에는 batch 파일을 이용해서 환경변수 값에 맞춰서
컴파일러를 유동적으로 바꿀수 있게 적용했었습니다.
'WIPI_CLASSROOT%' 역시 마찬가지구요.

아울러 vim 설정파일에서 batch 파일에서 set 처럼 환경변수를 설정하는 법을
알고 싶습니다. (setlocal 같이 batch 파일 내부에서만 적용시키는 법도 알고 싶구요)

그리고 마지막으로 ANT에 대한 질문입니다.
ANT를 이용해서 컴파일 하고, 에러 메세지등을 vim에서 읽을수 있는 방법이 있는지도
알고 싶습니다. (가능하다면 예제도 함께 첨부 해서 볼수 있으면 하는 바람입니다. :))

kwon37xi의 이미지

환경 변수를 어떻게 전달하는지는 잘 모르겠습니다만,
Ant 는 다음을 참조해보세요.

http://kwon37xi.egloos.com/1643980

http://kwon37xi.egloos.com

thedig의 이미지

kwon37xi님 덕분에 ANT를 적용에 성공했습니다.

음 이제 vim에서 컴파일 할때 플래그 값을 넘기는것과,
환경 변수 설정하는게 남았군요.
그냥 ANT를 사용하면 되겠지만 그래도 궁굼해지네요.

아래 처럼 컴파일 할려면 vim에서 설정을 어떻게 하면될까요?

javac -bootclasspath D:\KTF\WIPI1.1SDK\lib\classes.zip -g:none -d ./classes ./src/*.java

무식하게 아래처럼 적으니 -bootclasspath 이후로 모르는 명령이라고
오류가 나더군요.

set makeprg=javac -bootclasspath D:\KTF\WIPI1.1SDK\lib\classes.zip -g:none -d ./ %
pool007의 이미지

역슬래쉬로 스페이스를 이스케이프 해주셔야합니다.

set makeprg=javac\ -bootclasspath\ D:\\KTF\\WIPI1..(중략)\ %

--
Passion is like genius; a miracle.

--
Passion is like genius; a miracle.

thedig의 이미지

JAVA 컴파일시 플래그를 make 할때 뒤에 붙혀 주면되더군요. :)

map <F2> :w<CR>:make -bootclasspath D:\KTF\WIPI1.2SDK\lib\classes.zip -g:none -d ../<CR>

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.