2010-06-18 105 views
0

我有一個共享的項目,我想在Eclipse中分割。 這是一個android共享庫,其中一些軟件包應該只是其他jar文件,另一些則需要更小的共享庫。Eclipse Jar導出腳本

除手動創建較小的項目外,處理這種情況的最佳方式是什麼?

也有一種方法來創建一個腳本來從Eclipse創建導出的jar文件,如果我給它一個項目路徑?

回答

2

如何做Ant script生成不同的JAR?

的參考jar任務:Intro tutorialJar taskMore examples從一個標準的Eclipse動態的Java項目創建JAR文件

+0

使用Eclipse導出時,可以選擇生成ant腳本的選項。稍後,您只需運行ant腳本,並且每次都會自動構建該jar。 – 2010-06-21 19:51:00

0

簡單化的shell腳本。在Linux系統上使用RAM文件系統(/ dev/shm)。

#!/bin/sh 

UTILITY=$(basename $0) 

if [ -z "$1" ] ; then 
    echo "usage: $UTILITY [-s] <jar-directory>..." 
    echo "  -s ..... With source" 
    exit 1 
fi 

if [ "$1" == "-s" ] ; then 
    WITH_SOURCE=1 
    shift 
fi 

while [ ! -z "$1" ] ; do 
    JAR_DIR=$1 

    shift 

    if [ ! -d $JAR_DIR ] ; then 
     echo "\"$JAR_DIR\" is not a directory" 
     continue 
    fi 

    if [ ! -d $JAR_DIR/bin ] ; then 
     echo "\"$JAR_DIR\" is not a Java JAR directory" 
     continue 
    fi 

    TMP_DIR=/dev/shm/${JAR_DIR}.$$.tmp 
    JAR_FILE=/dev/shm/${JAR_DIR}.jar 

    mkdir $TMP_DIR 

    pushd $JAR_DIR > /dev/null 
    cp -r bin/* $TMP_DIR 
    [ ! -z "$WITH_SOURCE" ] && cp -r src/* $TMP_DIR 
    cd $TMP_DIR > /dev/null 
    [ -e $JAR_FILE ] && rm -f $JAR_FILE 
    jar cf $JAR_FILE . 
    ls -lsF $JAR_FILE 
    popd > /dev/null 

    rm -rf $TMP_DIR 
done