【问题标题】:'javac' cannot be found problem'javac' 找不到问题
【发布时间】:2009-11-19 19:08:26
【问题描述】:

我有一个托管在远程 tomcat 实例上的 Java 应用程序,它执行一个包含以下行的 bat 文件

javac filename.java

我收到以下错误:-

'javac' 未被识别为 内部或外部命令,可操作 程序或批处理文件。

我已经在环境变量中设置了路径。我尝试在机器上运行相同的 bat 文件,它可以工作(这意味着路径没有问题)。但是通过应用程序运行它会产生错误。可能是什么问题?

【问题讨论】:

  • 你在哪里设置的环境变量?你确定在Tomcat执行时应用到bat文件吗?
  • 你可以在你的bat文件中设置PATH变量。
  • 只是一个简单的想法 - 当然,运行远程 tomcat 的机器安装了 Java SDK?否则没有javac
  • @Andreas_D :- 别开玩笑了 :)
  • 请注意,现代 Tomcat 带有自己的编译器。考虑让 Tomcat 完成这项工作。

标签: java batch-file


【解决方案1】:

在您的环境中设置正确的路径并不能修复正在运行的 tomcat 进程的环境中的路径。如果您更改了系统设置中的路径,则重新启动 tomcat(或重新启动系统)可能会解决您的问题。

【讨论】:

    【解决方案2】:

    %JAVA_HOME%\bin 添加到远程计算机上的PATH 变量后(假设您在那里设置了%JAVA_HOME%),您需要运行一个新的cmd 窗口以使新的PATH 可用。

    【讨论】:

      【解决方案3】:

      您应该为正在执行 tomcat 的用户设置类路径,而不仅仅是为您的登录用户。

      【讨论】:

      • 这根本不是类路径问题。
      【解决方案4】:

      如果您安装了 JRE,而不是 JDK,您将能够运行 Tomcat,但不会有 javac.exe。去JAVA_HOME/bin看看有没有javac.exe。如果没有,你已经安装了 JRE,你必须去获取 JDK。

      只是好奇 - 为什么您的 Tomcat 应用程序调用 javac.exe?您是否正在即时创建课程?如果是,为什么不使用 ASM 生成字节码?

      【讨论】:

        猜你喜欢
        • 2015-02-25
        • 1970-01-01
        • 1970-01-01
        • 2019-06-14
        • 1970-01-01
        • 2020-04-29
        • 2012-01-14
        • 2018-12-16
        • 1970-01-01
        相关资源
        最近更新 更多