linux 编译并运行Java文件

Posted 13rj1115

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 "\n" ":"`
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!"

 

以上是关于linux 编译并运行Java文件的主要内容,如果未能解决你的问题,请参考以下文章

linux 编译并运行Java文件

如何在 Windows 中编写 Java 代码并在 Linux 中编译和运行

在linux下怎么编译和运行java程序

如果我使用Java 8库来编写应用程序并尝试使用Java 6编译器对其进行编译,那么构建是否会失败?

java jni 怎么在windows环境中编译成linux下的so文件

在linux中编译文件并在windows中运行