다국어를 쉽게 지원 할 수 있도록 지원하는 플러그인 입니다.
http://sourceforge.net/projects/eclipse-rbe/


저작자 표시

'tools' 카테고리의 다른 글

eclipse에서 다국어를 쉽게 지원하기..  (0) 2010/08/19
Hex Editor XVI32  (0) 2010/07/22
text 원하는 용량으로 잘라주기  (0) 2010/07/20
HTTP4e Rest Client  (0) 2010/07/15
rest framework 종류들..  (0) 2010/07/14
Apache Ant 프로젝트의 서브 프로젝트로 Ivy 프로젝트(http://ant.apache.org/ivy/)가 있습니다.
 Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies.
아래의 IvyTest 클래스, ivy.xml을 만들고 build.xml파일에서 resolve target을 실행하게 아래와 같은 결과를 얻을 수 있습니다.

IvyTest.java
package dev;

import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.GnuParser;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.lang.WordUtils;

import static java.lang.System.out;

public class IvyTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        try {
            Option msg = OptionBuilder.withArgName("msg").hasArg().withDescription("the message to capitalize").create("message");
           
            Options options = new Options();
            options.addOption(msg);
   
            CommandLineParser parser = new GnuParser();
            CommandLine line = parser.parse(options, args);
   
            String  message = line.getOptionValue("message", "default message");
            out.println("standard message : " + message);
            out.println("capitalized by " + WordUtils.class.getName() + " : " + WordUtils.capitalizeFully(message));
           
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
}


build.xml
<?xml version="1.0"?>
<project name="ivy-test" default="resolve" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
    <property name="project.name" value="ivy-test" />
     <property name="project.version" value="1.0.0" />
     <property name="project.owner" value="mcsong@gmail.com" />
   
    <!-- src -->
    <property name="src.dir" value="src" />
    <property name="src.main.dir" value="src/main" />
    <property name="src.test.dir" value="src/test" />
   
    <!-- build -->
    <property name="build.dir" value="build" />
    <property name="build.main.classes" value="${build.dir}/classes/main" />
    <property name="build.test.classes" value="${build.dir}/classes/test" />
   
    <!-- lib -->
    <property name="lib.dir" value="lib" />
    <property name="lib.ext.dir" value="lib-ext" />
   
    <!-- dist -->
    <property name="dist.dir" value="dist" />
   
    <!-- doc -->
    <property name="doc.dir" value="doc" />
   
    <!-- ivy -->
    <property name="ivy.install.version" value="2.1.0" />
    <property name="ivy.dir" value="ivy" />
    <property name="ivy.jar.file" value="${lib.dir}/ivy-2.1.0.jar" />
   
    <!-- test -->
    <property name="test.dir" value="test" />
   
    <tstamp>
        <format property="time" pattern="yyyyMMdd" />
    </tstamp>
   
    <!-- setting class path -->
    <path id="class.path">
        <pathelement location="${build.main.classes}"/>
        <pathelement location="${build.test.classes}"/>
        <pathelement location="${dist.dir}"/>
        <pathelement location="${lib.dir}"/>
 
        <pathelement location="${lib.dir}/junit.jar"/>
        <pathelement location="${lib.dir}/commons-cli-1.2.jar"/>
        <pathelement location="${lib.dir}/commons-lang-2.5.jar"/>
        <pathelement location="${lib.dir}/ivy-2.1.0.jar"/>
        <pathelement location="${ant.home}/lib"/>
    </path>   
   
    <!-- initialize -->
    <target name="init" description="--> create directories">
        <echo>init target started</echo>
        <mkdir dir="${doc.dir}"/>
        <mkdir dir="${build.dir}"/>
        <mkdir dir="${build.main.classes}"/>
        <mkdir dir="${build.test.classes}"/>
        <mkdir dir="${test.dir}"/>
        <!--mkdir dir="${test.result.dir}"/>
        <mkdir dir="${test.report.dir}"/-->
        <mkdir dir="${dist.dir}"/>
        <echo>init target completed</echo>
    </target>       
   
    <!-- clean -->
    <target name="clean" description="--> clean created directories">
        <echo>clean target started</echo>       
        <delete dir="${doc.dir}" />
        <delete dir="${build.dir}"/>
        <delete dir="${build.main.classes}"/>
        <delete dir="${build.test.classes}"/>
        <delete dir="${test.dir}"/>
        <!--delete dir="${test.result.dir}"/>
        <delete dir="${test.report.dir}"/-->
        <delete dir="${dist.dir}"/>
        <echo>clean target completed</echo>
    </target>       
   
    <macrodef name="compile_">
        <attribute name="srcdir" />
        <attribute name="destdir" />
        <sequential>
            <javac srcdir="@{srcdir}" destdir="@{destdir}">
                <classpath refid="class.path" />
            </javac>
        </sequential>
    </macrodef>   

       <!-- compile source -->
    <target name="compile" depends="clean, init" description="compile this project">
        <echo>compile target started</echo>
        <compile_ srcdir="${src.main.dir}" destdir="${build.main.classes}" />
        <compile_ srcdir="${src.test.dir}" destdir="${build.test.classes}" />
        <echo>compile target completed</echo>
    </target>   

    <!-- run -->
    <target name="run" depends="compile" description="run the project">
        <echo>run target started</echo>
        <property name="arg.01" value="ivy testing !"/>
        <java classpathref="class.path" classname="dev.IvyTest">
            <arg value="-message"/>
            <arg value="${arg.01}"/>
        </java>
        <echo>run target completed</echo>
    </target>
   
   
    <target name="resolve" depends="init" description="retreive dependencies with ivy">
        <ivy:retrieve />
    </target>       
   
    <target name="report" depends="resolve" description="generates a report of dependencies">
        <ivy:report todir="${build.dir}"/>
    </target>
  
    <target name="clean-cache" description="clean the ivy cache">
        <ivy:cleancache />
    </target>
       
</project>

ivy.xml
<ivy-module version="2.0">
    <info organisation="org.apache" module="hello-ivy"/>
    <dependencies>
        <dependency org="commons-lang" name="commons-lang" rev="2.5"/>
        <dependency org="commons-cli" name="commons-cli" rev="1.2"/>
    </dependencies>
</ivy-module>

결과
Buildfile: C:\dev\works\ivy_test\build.xml
init:
     [echo] init target started
     [echo] init target completed
resolve:
[ivy:retrieve] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ ::
[ivy:retrieve] :: loading settings :: url = jar:file:/C:/Program%20Files/eclipse/plugins/org.apache.ant_1.7.1.v20090120-1145/lib/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
[ivy:retrieve] :: resolving dependencies :: org.apache#hello-ivy;working@LENOVO-FAD74E43
[ivy:retrieve]     confs: [default]
[ivy:retrieve]     found commons-lang#commons-lang;2.5 in public
[ivy:retrieve]     found commons-cli#commons-cli;1.2 in public
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.5/commons-lang-2.5-javadoc.jar ...
[ivy:retrieve] ......
[ivy:retrieve] .......
[ivy:retrieve] .....
[ivy:retrieve] ........
[ivy:retrieve] ........
[ivy:retrieve] ..........
[ivy:retrieve] .........
[ivy:retrieve] ....
[ivy:retrieve] ...
[ivy:retrieve] ....
[ivy:retrieve] ......
[ivy:retrieve] .... (1557kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve]     [SUCCESSFUL ] commons-lang#commons-lang;2.5!commons-lang.jar(javadoc) (24578ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar ...
[ivy:retrieve] ......
[ivy:retrieve] ...... (357kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve]     [SUCCESSFUL ] commons-lang#commons-lang;2.5!commons-lang.jar(source) (4109ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.5/commons-lang-2.5.jar ...
[ivy:retrieve] ........
[ivy:retrieve] ..... (272kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve]     [SUCCESSFUL ] commons-lang#commons-lang;2.5!commons-lang.jar (5313ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-cli/commons-cli/1.2/commons-cli-1.2-sources.jar ...
[ivy:retrieve] ... (47kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve]     [SUCCESSFUL ] commons-cli#commons-cli;1.2!commons-cli.jar(source) (2203ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-cli/commons-cli/1.2/commons-cli-1.2.jar ...
[ivy:retrieve] ... (40kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve]     [SUCCESSFUL ] commons-cli#commons-cli;1.2!commons-cli.jar (1610ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-cli/commons-cli/1.2/commons-cli-1.2-javadoc.jar ...
[ivy:retrieve] .....
[ivy:retrieve] .. (209kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve]     [SUCCESSFUL ] commons-cli#commons-cli;1.2!commons-cli.jar(javadoc) (3734ms)
[ivy:retrieve] :: resolution report :: resolve 12688ms :: artifacts dl 41562ms
    ---------------------------------------------------------------------
    |                  |            modules            ||   artifacts   |
    |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
    ---------------------------------------------------------------------
    |      default     |   2   |   2   |   2   |   0   ||   6   |   6   |
    ---------------------------------------------------------------------
[ivy:retrieve] :: retrieving :: org.apache#hello-ivy
[ivy:retrieve]     confs: [default]
[ivy:retrieve]     4 artifacts copied, 2 already retrieved (2171kB/47ms)
BUILD SUCCESSFUL

위의 내용을 통해서, 프로젝트의 의존성 있는 바이너리들을 쉽게 관리(?) 할 수 있을듯 합니다.
개발팀에서 적용하기에는 좀 귀찮은 작업일듯 하나, 개발팀의 모임인 개발실 급의 규모에서는 적용할 만한 기술인거 같네요..

참고로, Ivy 프로젝트의 설치는 아래와 같습니다.
1. 다운로드
2. ivy-2.1.0.jar를 ${ant.home}/lib에 카피를 합니다.
3. eclipse에서 window --> preference --> ant --> runtime --> classpath의 ant home entries에서 add external jars 버튼을 통해서 ivy-2.1.0.jar를 잡아주면 됩니다. 

위 데이타에 대한 리포팅 결과는 아래의 첨부파일을 참고하세요..

* 참고자료
 - 사람을 위한 자동화: Ivy로 의존성 관리하기
저작자 표시

eclipse에서 java source 보기

from tools 2010/03/16 16:01
eclipse에서 자바로 개발을 하다보면, 라이브러리나 API대상의 코드를 확인하기 위해서 f3키를 눌려서 확인을 합니다.
특히, java api source를 보기 위해서는 자바 소스를 간단하게 링크만 하면 됩니다.

아래의 이미지처럼, JRE System Library에서 rt.jar의 속성창에서 Java Source Attachment의 Location path에 src의 위치를 확인시켜 주면 소스가 잘 나오네요.. ^^


'tools' 카테고리의 다른 글

json simple library  (0) 2010/05/18
java c/c++, c# 호출방식  (0) 2010/04/29
eclipse에서 java source 보기  (0) 2010/03/16
build.xml refactoring using macrodef tag  (1) 2010/03/15
staruml  (0) 2010/02/08
Tag // Eclipse, java, rt.jar

eclipse에서 cvs 연결끊기..

from tools 2008/08/27 18:37
Disconnecting a project from CVS

Disconnect a project from CVS to disable the CVS operations that can be performed on the project and it resources and optionally to remove the CVS information (stored in the CVS folders) associated with the project.

To disconnect a project from CVS:

   1. In one of the navigation views, select the project to be disconnected.
   2. Select Team > Disconnect from the project's pop-up menu. The Confirm Disconnect from CVS dialog opens.
   3. In the dialog, choose one of:
         1. Delete the CVS meta information - disables the CVS team menu operations and removes the CVS folders and their contents from the file system.
         2. Do not delete the CVS meta information - disables the CVS team menu operations but leaves the CVS meta information.
   4. Click Yes to disconnect the project.

'tools' 카테고리의 다른 글

eclipse에서 ant로 javadoc task 에러  (0) 2009/06/11
무료 플래시 차트 'Open Flash Chart'..  (0) 2008/09/04
eclipse에서 cvs 연결끊기..  (0) 2008/08/27
FF VS IE 웹 개발 디버깅 툴  (0) 2008/08/13
Rex Swain's HTTP Viewer  (0) 2008/08/13
Tag // CVS, Eclipse
ANT로 빌드파일(build.xml)을 만들고, 빌드파일을 통해서 컴파일된 바이너리를 FTP로 전송할 수 있는 기능이 있습니다. 단계는 아래와 같습니다.

1. ftp 라이브러리 설치
  http://commons.apache.org/net/의 최신버전을 다운로드 받습니다.
  다운로드 받은 라이브러리인 commons-net-1.x.x.jar 파일을 이클립스가 설치된 폴더/plugins/ant설치버전/lib 폴더에 카피를 합니다. 참고로, 현재 최신버전은 commons-net-1.4.1 이네요.. ^^

2. eclipse ant classpath 세팅
  Eclipse->Window->Preferences->Ant->Runtime->Classpath->Add External JARS를 통해서 commons-net-1.x.x.jar를 Classpath에 등록한다

3. 실행
  <ftp server="ftp.yourserver.com" userid="anonymous" password="me@yourserver.com">
    <fileset dir="yourdir/youdocs" />
  </ftp>

ant의 ftp task에 대한 자세한 내용은 http://ant.apache.org/manual/OptionalTasks/ftp.html 에서 참고를 하시면 됩니다. ^^

'tools' 카테고리의 다른 글

Ant with proguard obfuscate tool  (0) 2008/07/09
jad decompiler 사용하기..  (0) 2008/06/26
eclipse에서 ant ftp task 사용하기  (0) 2008/06/26
vi 컨닝 페이퍼 이용하기  (0) 2008/06/25
eclipse 에서 argouml 사용하기..  (0) 2008/06/19
ArgoUml을 통해서 이클립스에서 UML을 그릴 수 있습니다.

1. 설치

Installation Instructions

The ArgoEclipse plugin requires Eclipse 3.2. Later versions should work as well, but haven't been tested. You can download Eclipse kits here.

  1. In the Eclipse menu go to HelpSoftware UpdatesFind and Install
  2. When Install/Update dialog opens choose Search for new features to install and click Next
  3. In the Install dialog click on New remote site and add a site with the following attributes:
    	Name: ArgoEclipse
    URL: http://argoeclipse.tigris.org/update_site
  4. From here it's simple to follow the instructions from the wizard

Getting Started

The ArgoEclipse plugin is based on ArgoUML version 0.22, so the ArgoUML manual is a good place to start.

If you are familiar with ArgoUML, the ArgoEclipse perspective (Window→Open Perspective→Other... then select ArgoEclipse) mirrors the layout of the standalone ArgoUML application. Opening a file with the .zargo extension or creating a new ArgoUML file (File→New→Other... then selecting ArgoUML file) will open the ArgoUML diagram editor.

Additional information can be found here: http://argoeclipse.tigris.org/faqs/users.html or informations about how to check out the source code: http://argoeclipse.tigris.org/documentation/dev-notes.html.

Uninstall Instructions

  1. In the Eclipse menu go to HelpSoftware UpdatesManage Configuration
  2. Select the feature you want to uninstall
  3. From the contextual menu (that shows up when you right click on an item) select uninstall

Alternative instalation

You can download the plugin in the form of JARs, not installing with the update_site. (Maybe you don't have an Internet connection on another machine where you want to install the plugin.)

Attention: The plugin requires Eclipse 3.2 or later.

Here are the steps involved:

  1. Go to the Documents and files link from the left menu. Or if you want to jump there click here.
  2. Go to argoeclipseKitsPluginsChoose a version
  3. Download the JAR files from the folder you chose.
  4. Move these files to EclipsePlugins, where Eclipse is your Eclipse instalation directory

You can uninstall the plugin by erasing the files you downloaded.


2. 사용하기

개발중인 프로젝트에서 New -> Other -> ArgoUML 을 통해서 UML 파일을 만들고 사용할 수 있다..
사용자 삽입 이미지

Tag // argouml, Eclipse
자바 소스에서 마우스 오른쪽 클릭 -> Source -> Generate Getters and Setters... 를 클릭해 줍니다.. 그럼, 주룩 getter, setter 메쏘드들이 생긴것을 보실 수 있습니다. 참 편리하네요.. ^^
Tag // Eclipse
보통 파일에 대한 인식은 확장자를 기반으로 하고 있다..
하지만, 웹을 통한 서비스는 설정을 통해서 확장자가 다른 파일로 웹 어플리케이션으로 인식할 수 있다..

위의 상황에 따라서 만약 .xxx라는 확장자로 .jsp와 동일한 서비스를 하려고 이클립스에서
Windows -> Preferences -> General -> Content Types -> Text 밑에 JSP 를 클릭해서 원하는 확장자를 Add 시켜 주면 됩니다.
Tag // Eclipse
현재 eclipse 3.3.x 버전에서 PHP를 개발하고 있는데, vim, editplus등의 텍스트 편집기에 비해서 굉장히 편리하게 사용하고 있습니다. 확실히 IDE 툴로써 eclipse가 확실히 자리매김을 한거 같습니다..

Url : http://www.phpeclipse.de/tiki-view_articles.php
Help : http://docs.schuetzengau-freising.de/modules/xdocman/index.php?doc=xo-002&lang=en
Tag // Eclipse, php, plug-in
Url  : http://subclipse.tigris.org/
Help : http://svn.collab.net/subclipse/help/index.jsp