Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java compile.bat和run.bat在操作系统上不工作_Java_Windows_Batch File_Cmd_Terminal - Fatal编程技术网

Java compile.bat和run.bat在操作系统上不工作

Java compile.bat和run.bat在操作系统上不工作,java,windows,batch-file,cmd,terminal,Java,Windows,Batch File,Cmd,Terminal,我在windows中编写了两个批处理文件“compile.bat”和“run.bat”,以便在“src”文件夹中编译所有java文件,并在“classes”中运行特定文件,但是当我尝试在MAC OS下运行批处理文件时,出现了问题 当我双击“compile.bat”时,什么也没发生 当我拖动“compile.bat”到终端时,显示“权限被拒绝” 以下是代码: compile.bat javac -d classes src/*.java pause java -cp classes MyA

我在windows中编写了两个批处理文件
“compile.bat”
“run.bat”
,以便在
“src”
文件夹中编译所有java文件,并在
“classes”
中运行特定文件,但是当我尝试在MAC OS下运行批处理文件时,出现了问题

  • 当我双击“compile.bat”时,什么也没发生
  • 当我拖动“compile.bat”到终端时,显示“权限被拒绝”
  • 以下是代码:
    compile.bat

     javac -d classes src/*.java 
     pause
    
    java -cp classes MyApplication
    pause
    
    跑步。蝙蝠

     javac -d classes src/*.java 
     pause
    
    java -cp classes MyApplication
    pause
    
    结构如下:

    -编译.bat
    -run.bat
    |-src
    |-课程
    |-文档
    |-参考号


    Bat文件是特定于OSX中的windows的,您可以使用类似unix的shell脚本

    compile.sh

    javac -d classes src/*.java
    
    java -cp classes MyApplication
    
    run.sh

    javac -d classes src/*.java
    
    java -cp classes MyApplication
    

    我们应该做到这一点。如果要在类Unix系统上运行,可能需要阅读有关shell脚本的内容。

    1,将文件扩展名从
    .bat
    更改为
    .command

    2,在终端上使用
    chmod u+x
    打开执行权限非常重要

    • x代表执行权限
    • u代表用户
    然而以下是错误:

    javac:未找到文件:src/*.java
    用法:javac
    使用-help获取可能选项的列表
    

    是什么让你认为MacOS会将.bat文件识别为可执行文件?我尝试将扩展名更改为“command”,但它无法正常工作。你是否尝试过
    *.sh
    ?你设置了可执行文件属性了吗?哦,看看Ant和Maven你的意思是我把“compile.bat”的代码改成了*.sh,但是我在src文件夹中的文件都是java文件。没有一个是sh文件我尝试将扩展名更改为“command”和“sh”,双击和拖动都无法工作,当我双击没有任何事情发生,并且当我拖动到终端时,终端运行时会显示“权限被拒绝”
    chmod a+x compile.sh
    chmod a+x Run.sh
    前面可能有
    sudo
    。然后从终端运行
    sh compile.sh