【问题标题】:Ubuntu script to compile multiple java files?Ubuntu脚本编译多个java文件?
【发布时间】:2012-08-14 21:03:24
【问题描述】:

我知道命令是javac file_name.java,但是我该如何组合一个可以编译多个java文件的shell脚本呢?

我也在考虑复制文件,我想我只是使用cp 和绝对文件路径引用。

【问题讨论】:

  • 通常的方法是使用像makeant这样的构建工具。
  • 为什么不用maven? (maven.apache.org)

标签: java linux bash unix ubuntu


【解决方案1】:

试试这个脚本:compile_java_files.sh

#!/bin/sh

typeset -r JAVA_FILES_DIR=$(cd full_path_to_java_files 2>/dev/null ; pwd)   # JAVA FILES DIRECTORY

LOG_DIR="/tmp/java_compilation/logs"    # Create this dir or use another one

for java_file in `ls $JAVA_FILES_DIR`;
do
    javac $java_file
    return_status=`echo $?`
    if [ $return_status -ne 0 ]
    then
        echo "Failed to compile $java_file" >> $LOG_DIR/$java_file.ERR

        exit 1
    fi
done

然后运行您的脚本(不要忘记指定包含 java 文件的目录的路径):

chmod +x compile_java_files.sh
./compile_java_files.sh

【讨论】:

    【解决方案2】:

    创建一个 .sh 文件并添加以下内容。使文件成为可执行文件并运行它。 (指定完整路径以及文件名)

    #! /bin/sh
    javac sample.java
    

    【讨论】:

    • 这样每次调用都会重新编译每个脚本,效率不高。
    • 如果我想将我的 java 文件复制到 javac 所在的位置,如何确保每次复制我的 java 文件时都会覆盖以前的版本? cp 命令有参数吗?
    • cp 将覆盖如果文件存在。以及为什么要将文件复制到您的 javac 位置。只需将 java/bin 添加到您的环境中,您就可以在任何地方使用 javac。
    • @AkhilDev 我是 Unix 的新手,你能解释一下我是怎么做到的吗?谢谢
    猜你喜欢
    • 1970-01-01
    • 2014-11-16
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    相关资源
    最近更新 更多