【问题标题】:Public Class error when compiling with javac使用 javac 编译时出现公共类错误
【发布时间】:2014-10-11 18:38:42
【问题描述】:

无论我进行什么编辑,我都会不断得到这个输出;

C:\Program Files\Java\jdk1.7.0_67\bin>javac JavaVersionDisplayApplet.java
JavaVersionDisplayApplet.java:4: error: error while writing JavaVersionDisplayAp
plet: JavaVersionDisplayApplet.class (Access is denied)
public class JavaVersionDisplayApplet extends Applet {
       ^
1 error

我使用的代码用于 JavaCheckVersion;

import java.applet.*;
import java.awt.*;

public class JavaVersionDisplayApplet extends Applet { 
   private Label m_labVersionVendor; 

   public JavaVersionDisplayApplet()  { 
     Color colFrameBackground = Color.white;
     this.setBackground(colFrameBackground);
     m_labVersionVendor = new Label (" You are running Java Version: " +
                                    System.getProperty("java.version") +
                                    " from " + 
                                    System.getProperty("java.vendor"));
     this.add(m_labVersionVendor);
   }

}

有没有人看到这里有什么问题?

【问题讨论】:

  • 好像你在相关地方没有写权限。
  • 这是我的第一个 Java 项目,所以我不完全确定如何修改它。有问题的行似乎是;公共类 JavaVersionDisplayApplet 扩展 Applet {
  • 与 Java 无关。你只需要弄清楚为什么你不能写入它试图在其中生成输出的任何目录。
  • 一般情况下你不想将源文件保存在 JDK 的 bin 目录中
  • 你知道吗,这可能是因为我正在从 /jdk/bin/ 编译作为解决方法,因为 javac 不会导航到原始目录。

标签: java class compilation javac public


【解决方案1】:

问题与您的代码无关,而与您在当前目录为C:\Program Files\Java\jdk1.7.0_67\bin 时尝试编译它有关。您可能在该目录中没有写入权限。由于编译类的动作创建了.class文件,编译器无法完成编译。

把目录改到可以写的地方,重新编译。

【讨论】:

  • 这很有意义,但这给我带来了另一个问题。我在 jdk/bin/ 中编译,因为每次尝试从桌面/开发文件夹/ 编译时都会收到“未找到”错误
【解决方案2】:

以管理员身份运行 CMD,并将 Java 文件移动到 /Desktop/Java/ 并成功。感谢大家帮我解决这个问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-23
    • 1970-01-01
    • 2014-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多