第一种方式:
bsub -J "bottle" -q SugonC_12_JSJ_Linux -o ./outlengthBeam1.log -e ./errlengthBeam1.log java -Xms1024m -Xmx1024m -Djava.ext.dirs=./lib -classpath ./MultiWordTrigger.jar com/trigger/perceptron/TriggerTest /dawnfs/users/nlplab/user/tree/config/triggerBeam.properties
需要注意的是:
这种提交方式打包的方式是:
而且需要注意的是:要把运行的主类(main函数所在的类)给出
第二种方式:
新建文件 bottle.sh, 文件中内容为:
bsub -q SugonC_12_JSJ_Linux -o output/output.%J -e output/error.%J $1
新建文件 trigger.sh, 文件中内容为:
java -Xms1024m -Xmx1024m -Djava.ext.dirs=./lib -jar MultiWordTrigger.jar /dawnfs/users/nlplab/user/tree/config/triggerBeam.properties
提交命令是:./bottle.sh ./trigger.sh
注意两个都要带上路径(./ )
这里需要说明的是bottle.sh 中的两个参数:
$1 指的是提交时后面的参数,这里是指 trigger.sh
bottle.sh中的 %J 会被 (提交任务的进程号)替换,,详细的解释是提交命令(./bottle.sh ./trigger.sh)后会产生一个进程号,该进程号就会替换到%J
这种提交方式的的打包方法应该是打包成 Runnable JAR file , 这种打包方式在打包的过程中已经指明了main 方法所在的类,所以在提交命令时无需之处
另外第二种提交方法省事省力,适合调参时变换参数后提交命令。
学无止境,偷懒的方法总能让人学到跟多东西,话题岔开了,哈哈,向大神们学习