• linux 编译并运行Java文件


    因工作需要,调接口时本地访问不了目标服务器,所以只能在服务器上运行调试。

    写了个脚本来编译运行。参数输入Java文件名无后缀

    #!/bin/bash
    if [ ! -n "$1" ]; then
        echo "Please enter a file name!"
        exit 0
    fi
    JAVA_FILE=$1.java
    LIB_DIR=`pwd`/lib
    LIB_JARS=`ls ${LIB_DIR}|grep .jar|awk '{print "'${LIB_DIR}'/"$0}'|tr "
    " ":"`
    echo -e "starting compile ${JAVA_FILE}...c"
    #UNIX shell使文件描述符0与进程的标准输入相结合,文件描述符1与标准输出相结合,文件描述符2与标准出错输出相结合。
    #该处的 2>&1 代表着错误输出 输出到 标准输出
    COMPILE_RESULT=`javac -classpath ${LIB_JARS} ${JAVA_FILE} 2>&1`
    if [ -n "$COMPILE_RESULT" ]; then
        echo ""
        echo "$COMPILE_RESULT"
        exit 0
    fi
    echo "Complie OK!"
    JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true "
    JAVA_MEM_OPTS=" -server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
    
    STDOUT_FILE=`pwd`/log/$1.log
    CLASS_FILE=$1
    echo -e "Starting the ${CLASS_FILE} ...c"
    java ${JAVA_OPTS} ${JAVA_MEM_OPTS} -classpath ${LIB_JARS} ${CLASS_FILE} > ${STDOUT_FILE} 2>&1
    echo ""
    echo "Run OK!"
  • 相关阅读:
    The best programmers are the quickest to Google
    NetBeans 时事通讯(刊号 # 117 Sep 16, 2010)
    Apache HttpClient 4.0.3 GA 发布
    warning LNK4070的解决办法
    看泡沫
    早秋精神
    NetBeans 时事通讯(刊号 # 117 Sep 16, 2010)
    Maven 3.0 RC1 发布
    关于类的数据成员的访问权限设计的一些思考
    看泡沫
  • 原文地址:https://www.cnblogs.com/zuferj115/p/7586831.html
Copyright © 2020-2023  润新知