web-dev-qa-db-fra.com

L'accès est refusé lors de la compilation de Java sous Windows

J'ai créé deux fichiers Java: Pizza.Java et PizzaOrder.Java.

J'ai essayé de compiler mon code en utilisant javac dans l'invite de commande comme ceci:

javac pizzaorder.Java

J'obtiens l'accès est refusé erreur:

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

Que fais-je pour causer cette erreur?

8
Mad coder.

Il semble que vous essayiez de placer vos fichiers source dans le répertoire système C:\Program Fiels\Java\jdk1.7.0\bin. Essayez de créer votre propre répertoire pour vos fichiers source (sous votre propre répertoire de base), au lieu de les placer dans le chemin du système. Vous n'avez probablement pas les autorisations pour écrire dans ce répertoire (mais je ne suis pas sûr de savoir comment vous y avez obtenu vos fichiers source).

15
Greg Hewgill

L'erreur Accès refusé est probablement due au fait que vous essayez de compiler ce programme dans le répertoire jdk, qui se trouve à l'intérieur de \Program Files, qui n'est PAS accessible en écriture pour tout utilisateur. Vous devriez être en train de coder ailleurs (peut-être dans votre répertoire My Documents, ou du moins quelque part où vous disposez d'autorisations d'écriture).

7
Marc B

Vous n'êtes pas autorisé à écrire dans le répertoire. Vous ne devriez pas mettre votre code source dans le répertoire bin du JDK.

Au lieu de cela, ajoutez ce répertoire bin à votre PATH et créez un répertoire de travail dans votre dossier de base utilisateur.

Voir Comment définir le chemin dans Windows 7 .

3
stivlo

Je sais que cela n’a aucune relation avec Java, mais essayez-le, cela a fonctionné pour moi.
Je m'en suis rendu compte en jouant avec Windows Explorer.

  1. Aller à C:\Program Files \
  2. Cliquez avec le bouton droit sur le dossier Java, cliquez sur Propriétés. Sélectionnez l'onglet Sécurité.
  3. Là, cliquez sur le bouton "Modifier", ce qui ouvrira la fenêtre AUTORISATIONS POUR Java.
  4. Cliquez sur Ajouter, ce qui ouvrira une nouvelle fenêtre. Dans ce champ, dans la zone "Entrez le nom de l'objet", entrez le nom de votre compte d'utilisateur, puis cliquez sur OK (s'il existe déjà, ignorez cette étape).
  5. Maintenant, dans la fenêtre "PERMISSIONS DE Java", vous verrez plusieurs options cliquables comme CREATOR OWNER, SYSTEM, parmi lesquelles se trouve votre nom d'utilisateur. Cliquez dessus et cochez l'option CONTRÔLE COMPLET dans Autorisations pour la sous-fenêtre.
  6. Enfin, cliquez sur Appliquer et d'accord.

Cela devrait être ça. Vous pourrez maintenant compiler et exécuter vos programmes Java directement dans la corbeille au lieu de faire autre chose.

1
Shrik