googleAdsense_widever


paros custom - 컴파일 방법 Programing . Common

아래과정은 콘솔은 전혀 쓰지 않고, 윈도우로만 가능한 방법이다.
제발, 콘솔은 자제하자. 콘솔쓰고, vi쓰고, 우분투 찌끄레기 쓴다고 해커고, IT 전문가가 아니다.
삽질한다고 좀 짜증나서 그러니 양해바란다.




include{
음.. 그러고보니 프로젝트 넣는 법을 내가 안썼네.
다운받은.. 아;; 플젝트 넣는 법은 이전 글에 있음.
Cliver.egloos.com/2015363 에 있음 ㅇ_ㅇ 
}


소스변경 후 재컴파일 방법.
ANT를 이용.
eclipse에서 Window > Show View > ANT > Add Buildfiles > paros-build-build.xml 을 추가한다.


tools.jar 가 없다는 에러가 발생하면,
program files > java > jdk_[version] > lib > tools.jar 를 복사하여
eclipse-SDK-[version]\eclipse\plugins\org.apache.ant_[version]\lib 안에 복사해준다.


이제 ANT에서 run the default target of the selected build file 을 실행하면
또 에러가 발생하는데, 해당부분으로 가면
Created on 2004�7ㅻ23ㅹ 라면서 이상한 인코딩 형식의 char가 있는데,
해당 char들을 삭제한다. LogPanel 에서도 마찬가지로 삭제.



다시 빌드하면 에러가 또 뜬다.
BUILD FAILED
D:\project\Eclipse\paros\build\build.xml:14: Unable to delete file D:\project\Eclipse\paros\build\paros\paros.jar
build 와 dist property를 다음과 같이 수정해준다.
  <property name="build" location="../output"/>
  <property name="dist"  location="../output"/>




또 다시 뜨는 에러는
A zip file cannot include itself 인데, 이에 대한 설명은 다음 링크를 참고 

간단히, excludes="paros.jar" 를 추가해주면 된다.



build.xml의 전체 소스는 아래와 같다.
----- source start -----
<project name="parosng" default="dist" basedir=".">
<description>
Build parosng.
</description>
<!-- set global properties for this build -->
<property name="src" location="../src"/>
<property name="build" location="../output"/>
<property name="dist" location="../output"/>

<target name="init">
<!-- Create the time stamp -->
<tstamp/>
<!-- Create the build directory structure used by compile -->
<delete dir="${dist}" includeEmptyDirs="true"/>
<delete dir="${build}" includeEmptyDirs="true"/>

<mkdir dir="${build}"/>
</target>

<target name="compile" depends="init"
description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<javac srcdir="${src}" destdir="${build}" classpath="lib.jar"/>
</target>

<target name="dist" depends="compile"
description="generate the distribution" >
<!-- Create the distribution directory -->
<mkdir dir="${dist}"/>
<copy file="lib.jar" tofile="${dist}/paros.jar"/>

<copy todir="${build}/resource">
<fileset dir="${src}/resource" excludes="*.psd"/>
</copy>
<copy file="${src}/xml/log4j.properties" tofile="${build}/xml/log4j.properties"/>
<copy todir="${dist}/xml">
<fileset dir="${src}/xml"/>
</copy>
<copy todir="${dist}/db">
<fileset dir="${src}/db"/>
</copy>
<copy todir="${dist}/filter">
<fileset dir="${src}/filter"/>
</copy>
<copy todir="${dist}/plugin">
<fileset dir="${src}/plugin"/>
</copy>
<copy todir="${dist}/session">
<fileset dir="${src}/session"/>
</copy>
<copy todir="${dist}/license">
<fileset dir="${src}/license"/>
</copy>
<copy todir="${dist}/log">
<fileset dir="${src}/log"/>
</copy>
<copy todir="${dist}">
<fileset dir="${src}" includes="*.exe *.so *.dll mozembed* *.bat *.sh"/>
</copy>

<copy file="${src}/doc/release.txt" todir="${dist}"/>


<copy file="${src}/resource/paros_logo.ico" todir="${dist}"/>

<!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
<jar jarfile="${dist}/paros.jar" basedir="${build}" excludes="paros.jar" update="true" manifest="MainClass.txt" compress="false"/>
</target>
</project>
----- source End -----

이제 마지막으로 다시 build 해보면 정상적으로 빌드 된다.





해당 output 폴더로 가보면 paros 를 설치했을 때와 똑같은 파일들이 들어있다.

경로를 바꾸기 전에 생성된
build/build
build/paros
directory 들은 필요가 없으니 지워버리자.

단, 자동으로 바로가기가 생성되지 않는데, 이건 조금 문제다.
자바이기 때문에 실행파일이 exe 같은 binary가 아니라 java runtime에서 돌려줘야 한다.
하지만 jdk가 깔려 있다면 paros.jar 파일의 연결프로그램을 Java Platform SE Binary 로 연결하여 실행해주면 된다.
아니면 바로가기를 직접 만들면 되는데

폴더에서 새로만들기 > 바로가기 > paros.jar 경로 입력 > 생성.
이후, 해당 바로가기 등록정보를 수정한다.
1) 아이콘 변경(처음엔 pc에 설치된 압축프로그램 아이콘)
2) 시작위치는 그대로 두고 '대상'부분을 C:\WINDOWS\system32\javaw.exe -jar paros.jar 로 변경한다.


이 바로가기는 재컴파일시 폴더가 삭제되면서 사라질 수 있기 떄문에 output 폴더 밖으로 끄집어내놓는다.

그럼 paros customizing을 위한 준비작업은 끝났다.
소스의 원하는 부분을 편집하고, 컴파일하고, 바로가기로 실행하면 끝.


아휴..




p.s.
아 개 ㅈ 같네. 이클립스를 다시 열었더니 종속되서 변경안되던게 반영되어, 다시 컴파일 안된다.
build.xml을 아래와 같이 변경 ㄱㄱ
짜증나서 color 자비따위 없음

<project name="parosng" default="dist" basedir=".">
    <description>
Build parosng.
    </description>
  <!-- set global properties for this build -->
  <property name="src" location="../src"/>
  <property name="build" location=""/>
  <property name="dist"  location="../output"/>

  <target name="init">
    <!-- Create the time stamp -->
    <tstamp/>
    <!-- Create the build directory structure used by compile -->
    <delete dir="${dist}" includeEmptyDirs="true"/>
    <mkdir dir="${dist}"/>
  </target>

  <target name="compile" depends="init"
        description="compile the source " >
    <!-- Compile the java code from ${src} into ${build} -->
    <javac srcdir="${src}" destdir="${dist}" classpath="lib.jar"/>

  </target>

  <target name="dist" depends="compile"
        description="generate the distribution" >
    <!-- Create the distribution directory -->
    <mkdir dir="${dist}"/>
    <copy file="lib.jar" tofile="${dist}/paros.jar"/> 

    <copy todir="${dist}/resource">
<fileset dir="${src}/resource" excludes="*.psd"/>
    </copy>
    <copy file="${src}/xml/log4j.properties" tofile="${dist}/xml/log4j.properties"/> 


  <copy todir="${dist}/xml">
    <fileset dir="${src}/xml"/>
  </copy>
  <copy todir="${dist}/db">
    <fileset dir="${src}/db"/>
  </copy>
  <copy todir="${dist}/filter">
    <fileset dir="${src}/filter"/>
  </copy>
    <copy todir="${dist}/plugin">
     <fileset dir="${src}/plugin"/>
    </copy>
    <copy todir="${dist}/session">
     <fileset dir="${src}/session"/>
    </copy>
    <copy todir="${dist}/license">
<fileset dir="${src}/license"/>
    </copy>
    <copy todir="${dist}/log">
      <fileset dir="${src}/log"/>
    </copy>
    <copy todir="${dist}">
      <fileset dir="${src}" includes="*.exe *.so *.dll mozembed* *.bat *.sh"/>
    </copy>

    <copy file="${src}/doc/release.txt" todir="${dist}"/>


    <copy file="${src}/resource/paros_logo.ico" todir="${dist}"/>

    <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
    <jar jarfile="${dist}/paros.jar" basedir="${dist}" excludes="paros.jar" update="true" manifest="MainClass.txt" compress="false"/>
  </target>
</project>






핑백

덧글

댓글 입력 영역


공지

어서오십시오.
트위터 : @FCliver
기저심리학 : 네이버카페
카카오톡 : FCliver
페이스북 : Fredric Cliver

통계 위젯 (화이트)

220
104
285269

접속자 위치