在Windows上编译Java时拒绝访问

时间:2011-10-23 08:38:26

标签: java windows java-7

我创建了两个java文件:Pizza.JavaPizzaOrder.Java

我尝试在命令提示符中使用javac编译我的代码,如下所示:

javac pizzaorder.java

我的访问被拒绝错误:

C:\Users\Meutex>cd\

C:\>cd "Program Files\Java\jdk1.7.0\bin"

C:\Program Files\Java\jdk1.7.0\bin>javac PizzaOrder.java
PizzaOrder.java:23: error: cannot find symbol
                Pizza order = new Pizza ();
                ^
  symbol:   class Pizza
  location: class PizzaOrder
PizzaOrder.java:23: error: cannot find symbol
                Pizza order = new Pizza ();
                                  ^
  symbol:   class Pizza
  location: class PizzaOrder
2 errors

C:\Program Files\Java\jdk1.7.0\bin>javac Pizza.java
Pizza.java:11: error: error while writing Pizza: Pizza.class (Access is denied)
public class Pizza {
       ^
1 error

C:\Program Files\Java\jdk1.7.0\bin>javac Pizza.java

我在做什么导致此错误?

7 个答案:

答案 0 :(得分:15)

您似乎正在尝试将源文件放在系统C:\Program Fiels\Java\jdk1.7.0\bin目录中。尝试为源文件(在您自己的主目录下)创建自己的目录,而不是将它们放在系统路径中。您可能没有权限写入该目录(但我不确定您是如何获得源文件的。)

答案 1 :(得分:7)

“拒绝访问”错误很可能是因为您尝试在jdk目录中编译此程序,该目录位于\Program Files内,用户不能普遍编写。您应该在其他地方进行编码(可能在您的My Documents目录中,或者至少在您拥有写权限的地方)。

答案 2 :(得分:3)

您无权在目录中写入。您不应将源代码放在JDK的bin目录中。

相反,将该bin目录添加到PATH并在用户主文件夹中创建工作目录。

请参阅How to set the path in windows 7

答案 3 :(得分:1)

我知道这与Java无关,但试试看,它对我有用 我在玩Windows资源管理器时意识到了这一点。

  1. 转到C:\ Program Files \
  2. 右键单击java文件夹,单击属性。选择安全选项卡。
  3. 点击“编辑”按钮,弹出PERMISSIONS FOR JAVA窗口。
  4. 点击“添加”,弹出一个新窗口。在其中,在“输入对象名称”框中,输入您的用户帐户名,然后单击“确定”(如果已存在,请跳过此步骤)。
  5. 现在在“PAVISSIONS OF JAVA”窗口中,您将看到几个可点击的选项,如CREATOR OWNER,SYSTEM,其中包括您的用户名。单击它,选中“子窗口权限”中的“完全控制”选项。
  6. 最后,点击申请,好吧。
  7. 这应该是它。您现在可以在bin中编译和运行java程序,而不是执行其他操作。

答案 4 :(得分:-1)

你需要在你的计算机中设置你的路径。你的垃圾箱路径的第一个副本(c:/programfiles/java/jdk1.7/bin)然后转到你的计算机属性 - >高级系统设置 - >环境变量然后单击new然后在名称中键入path并用前面和后面的分号粘贴(; c:/programfiles/java/jdk1.7/bin;)....然后它将运行.....

答案 5 :(得分:-1)

您唯一需要做的就是以管理员身份运行cmd。因此,右键单击cmd并以管理员身份运行。那应该可以解决你的问题!

答案 6 :(得分:-3)

以简单的方式解决 只需将 cmd 作为“管理员”运行
如果您正在使用像Netbeans或Eclipse这样的IDE,那就完全没问题了。