ç¨shellèæ¬ææ ·ç¼è¯javaå·¥ç¨
ç¼è¯javaå·¥ç¨ä¸è¬ç´æ¥ç¨IDEæè
ç¨AntãMavenä¹ç±»çå·¥å
·ï¼å¾å°æ人ç¨çº¯shellæ¥ç¼è¯javaå·¥ç¨ãæ£å¥½éå°è¿æ ·ä¸ä¸ªåºè¯¥ï¼ç¨è¿ç¯åæåä¸ä¸è®°å½ã
æ¡ä¾ï¼ç¨eclipseåäºä¸ä¸ªjava projectï¼ç¶åç¼è¯ææjarå
ã
è¿ä¸ªå¯ä»¥éç¨eclipseèªå¸¦çExportå°±å¯ä»¥å¯¼åºjaräºãä½æ¯ä¸ºäºè½¯ä»¶èªå¨åçå·´æå·´æçåå ï¼éç¨åshellèæ¬ç¼è¯ã
å¦å¾æ示ï¼java projectçå称为iec104ï¼ä¸é¢srcæ¯æºæ件ç®å½ï¼binæ¯æå¼ç¨çjarå ç®å½ï¼ç°å¨è¦è¿è¡ç¼è¯ï¼å¹¶ä¸ææjarï¼å¦æ对jarææäºè§£ï¼é½ç¥éjaræ个MANIFEST.MFæ件ï¼iec104å·¥ç¨çMFæ件å 容å¦ä¸ï¼
å°±æ¯å¶å®äºè¿è¡çmain-class(æpublic static void main(String args[])çç±»)ã
å°è¿ä¸ªæ件æ·è´å°iec104çæ ¹ç®å½ä¸ï¼ç¶åæ§è¡èæ¬compile.shï¼å
容å¦ä¸ï¼
#!/bin/bash
cur_dir=$(pwd)
echo $cur_dir
function do_compile_iec104(){
# echo $cur_dir
iec104=$cur_dir/iec104
iec104_src=$cur_dir/iec104/src
iec104_bin=$cur_dir/iec104/bin
# echo $iec104_src
# echo $iec104_bin
iec104_class=$cur_dir/iec104/class
# å°iec104çsrcç®å½ä¸çææjavaæ件çå称åå
¥å°iec104/src/sources.listæ件ä¸
rm -rf $iec104_src/sources.list
find $iec104_src -name "*.java" > $iec104_src/sources.list
cat $iec104_src/sources.list
# $iec104_classæ¯åæ¾ç¼è¯çclassæ件çç®å½
rm -rf $iec104_class
mkdir $iec104_class
# è¿éå¼å§ç¼è¯javaæ件ï¼æ³¨æè¿éç-encoding utf-8ï¼åå¼å§å¹¶æ²¡æå å
¥è¿ä¸ªï¼ç¶åå°±æ¥äºä¸å é误ï¼çº ç»äºå¾ä¹
æåç°ï¼è¿éç»åä½æ个éäºã
javac -d $iec104_class -encoding utf-8 -classpath $iec104_bin/classes12.jar:$iec104_bin/junit-4.10.jar:$iec104_bin/log4j-1.2.17.jar:$iec104_bin/mysql-connector-java-5.0.5-bin.jar:$iec104_bin/RXTXcomm.jar -g -sourcepath $iec104_src @$iec104_src/sources.list
# ç±äºç¨å°äºlog4jï¼æ以è¦å°log4jçé
ç½®æ件ä¸å¹¶æ¾å
¥ï¼å¦æ没æç¨å°ï¼å¯ä»¥å¿½ç¥è¿å¥
cp $iec104_src/log4j.properties $iec104_class
# å¦æåæ¥å¨iec104ç®å½ä¸æjaræ¥å°±å é¤æï¼å 为è¦çææ°ç
rm $iec104/iec104.jar
# è¿éè¦cdå°åæ¾classçç®å½ï¼å¦åå¦æéç¨ç»å¯¹è·¯å¾ç¼è¯ï¼ç¼è¯åºæ¥çjarå
éé¢å°±æ¯ç»å¯¹è·¯å¾äºï¼è¿æ ·å°±ä¼æé®é¢
# jar -cvfm $iec104/iec104.jar $iec104/MANIFEST.MF $iec104_class/*è¿æ ·æ¯é误ç
cd $iec104_class
jar -cvfm $iec104/iec104.jar $iec104/MANIFEST.MF *
# èµäºå¯æ§è¡æé
sudo chmod a+x $iec104/iec104.jar
}
do_compile_iec104
exit 0
è¿è¡è¿ä¸ªèæ¬ï¼linuxä¸ï¼å°±å¯ä»¥ç¼è¯å¹¶ä¸å¨iec104çç®å½ä¸å°±å¯ä»¥çå°iec104.jaræ件äºã
è¿éè¡¥å
ä¸javaå½ä»¤çåºæ¬ç¥è¯ï¼
javac ç¨äºç¼è¯Javaæ件ï¼æ ¼å¼ä¸ºï¼
java [options] [sourcefiles] [@files]
å
¶ä¸ï¼
optionsï¼å½ä»¤è¡é项ï¼
sourcefilesï¼ä¸ä¸ªæå¤ä¸ªè¦ç¼è¯çæºæ件ï¼
@filesï¼ä¸ä¸ªæå¤ä¸ªå¯¹æºæ件è¿è¡å表çæ件ï¼ææ¶åè¦ç¼è¯çæ件å¾å¤ï¼ä¸ä¸ªä¸ªæ²å½ä»¤ä¼æ¾å¾å¾é¿ï¼ä¹ä¸æ¹ä¾¿ä¿®æ¹ï¼å¯ä»¥æè¦ç¼è¯çæºæ件åå¨æ件ä¸ï¼å¨æ件ååå @ï¼è¿æ ·å°±å¯ä»¥å¯¹å¤ä¸ªæ件è¿è¡ç¼è¯ï¼å¯¹ç¼è¯ä¸ä¸ªå·¥ç¨å¾æç¨ï¼æ¹ä¾¿ï¼çäºã
æå 个æ¯è¾éè¦çé项ï¼
-d ç¨äºæå®ç¼è¯æçclassæ件çåæ¾ä½ç½®ï¼ç¼ºçæ
åµä¸ä¸æå®classæ件çåæ¾ç®å½ï¼ç¼è¯çclassæ件å°åæºæ件å¨åä¸ç®å½ä¸ï¼
-classpath å¯ä»¥ç®åæ-cpï¼ç¨äºæç´¢ç¼è¯æéçclassæ件ï¼æåºç¼è¯æç¨å°çclassæ件çä½ç½®ï¼å¦jarãzipæè
å
¶ä»å
å«classæ件çç®å½ï¼æå®è¯¥é项ä¼è¦çCLASSPATHç设å®ï¼
-sourcepathç¨äºæç´¢ç¼è¯æéçæºæ件ï¼å³javaæ件ï¼ï¼æå®è¦æç´¢çæºæ件çä½ç½®ï¼å¦jarãzipæå
¶ä»å
å«javaæ件çç®å½ï¼
éè¦æ³¨æwindowsä¸ålinuxä¸æ件路å¾åé符åæ件å表ï¼å³-classpathå-sourcepathæå®çæ件ï¼åé符çåºå«ï¼
windowsä¸æ件路å¾åéç¬¦ç¨ \ ï¼æ件å表åé符ç¨åå· ;
linuxä¸æ件路å¾åéç¬¦ç¨ / ï¼æ件å表åé符ç¨åå· :