有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

创建一个bash别名来编译任何文件。当前目录中的java程序

我正在尝试创建一个bash别名,该别名编译所有扩展名为.java的文件,然后在当前工作目录中运行所有扩展名为.class的文件

我现在有别名

alias jcompile="cd $pwd; javac *.java; java *.class"

我希望它能找到任何java程序并编译它们,然后运行它们,但它会抛出这个错误

error: file not found: *.java
Usage: javac <options> <source files>
use --help for a list of possible options
Error: Could not find or load main class *.class
Caused by: java.lang.ClassNotFoundException: *.class

共 (1) 个答案

  1. # 1 楼答案

    除非您专门定义$pwd,否则它没有任何意义pwd是一个告诉您当前路径的命令,$PWD是一个保存当前路径的变量。如果要定义变量pwd,可能需要将其更改为更独特的变量

    如果希望函数在非当前目录的位置运行,可以将其作为参数传递:

    jcompile() {
      cd "$1"
      javac *.java
      java *.class
    }
    

    并通过

    jcompile /my/path/to/directory