2011-11-30 6 views
0

Soit suppose que j'ai cette classe:hiérarchie des fichiers vs hiérarchie paquet dans IDE (Eclipse)

package com. stackoverflow .hierarchy;

class A {}

qui se trouve dans ~/MyProject/src/com/hiérarchie

Est-ce possible d'éviter les erreurs de compilation dans IDE pour une classe (comme * DÉCLARÉ package "com. stackoverflow .hierarchy" ne correspond pas au paquet attendu "de com.hierarchy" *)

J'ai essayé de rechercher une réponse dans les propriétés du projet Java Build Path. Mais j'ai échoué. Peut-être que certains corps peuvent aider avec ce personnel?

+0

Pouvez-vous expliquer _why_ tu veux faire ça? – Gray

+0

@Gray Eh bien ... J'ai développé dynamiquement le projet qui a été porté de .NET à Java. Donc, certaines choses vont mal avec les meilleures pratiques de Java. Le projet est bien compilé avec Ant. Mais je voudrais lancer mes tests via Eclipse, donc j'ai besoin d'être compilé dans Eclipse aussi. –

+0

Une raison pour ne pas avoir Eclipse corriger les paquets pour vous? Y a-t-il un problème à les placer dans la bonne hiérarchie de répertoires? – Gray

Répondre

0

C'est le problème de Java mais pas le problème d'éclipse.

From 7.2.1 Storing Packages in a File System in The Java Language Specification:

En vertu de cette organisation simple des paquets, une implémentation de la plate-forme Java transformerait un nom de paquet dans un chemin par concaténer les composants du nom du paquet, en plaçant un nom de fichier séparateur (indicateur de répertoire) entre les composants adjacents.

Par exemple, si cette simple organisation ont été utilisés sur un système UNIX, où le séparateur de nom de fichier est /, le nom du package:

jag.scrabble.board 

serait transformé en le nom du répertoire:

jag/scrabble/board 

et:

com.sun.sunsoft.DOE 

serait transformé en Nom du répertoire:

com/sun/sunsoft/DOE 

Votre nom packages doit correspondre le chemin du fichier .Donc vous devez changer package de Class A de package com.stackoverflow.hierarchy à package com.hierarchy

ou mettre le Class A dans le dossier /MyProject/src/com/stackoverflow/hierarchy

+0

Oui c'est évident. Ma réponse est à propos de quelque chose de différent. Je demande à propos de outwitting de Eclipse IDE –