java - 自动编译 Bash 脚本不起作用

标签 java bash shell scripting terminal

简单地说,我想通过命令行手动编译Java文件,但不想对每个目录都这样做。我尝试编写这个脚本,但似乎不起作用。

CUR=$PWD                              # save workspace directory to return
for line in `find -type d -name src`  # find and loop through src paths
do
    eval cd $line                     # go to src
    eval javac *.java
    eval jar *.class                  # I need to have a jar for my project
    eval mv ../bin/                   
    cd $CUR
done

最佳答案

我认为您根本不需要在该脚本中使用eval

但有一个问题可能是您的源目录并不都称为 src (或者它们是?)您的目录结构是什么样的?

此外,您的项目可能需要一个 jar,而不是多个 jar,因此该位也不起作用。

您可能应该考虑使用真正的 Java 构建工具,例如 Ant 或 Maven;他们十多年前就解决了这个问题。

关于java - 自动编译 Bash 脚本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19845949/

相关文章:

bash - 如何将 stderr 传递到命令流,然后返回终端?

bash - 如何检查 `enable-bracketed-paste` 在 Bash 中是否打开或关闭?

java - Jar 文件无法加载或找不到主类

java - 使用 Mockito 模拟泛型类型时出现 ClassCastException

bash - 如何每天晚上 10 点运行一次 cron

string - 如何判断有多少文件与 unix 中的描述匹配

python - 如何在应用程序中嵌入图形交互式 IronPython shell?

java - 如何将属性 ;DB_CLOSE_ON_EXIT=FALSE 设置为 oracle db url?

java - 我的世界 Bukkit : Command not working

java - 在 java 中使用正则表达式时转义 '{'?