javac junit donne “erreur: package org.junit n'existe pas”
Je suis en train d'utiliser JUnit dans un makefile, mais je ne peux pas le faire fonctionner.
Mon dossier structure est comme suit (makefile est dans monprojet):
myProject
|--bin
|--main
|--org
|--myPackage
|--test
|--org
| |--myPackage
|
|--lib
où /main contient des fichiers principaux, /test contient des fichiers de test et /lib contient hamcrest-core-1.3.jar
et junit-4.12.jar
Mon makefile est comme suit:
JAVAC = javac
JVM = java
JAVADOC = javadoc
MKBIN = mkdir -p bin
JAVAC_FLAGS = -g -d bin/
JAVAC_CP = -cp
SRC = main/
SRCTEST = test/
LIB = lib/*.jar
PACKAGE = org/myPackage/*.java
TARGET = bin
MAIN = org.myPackage.Main
.SUFFIXES : .class .java
all:
$(MKBIN) | $(JAVAC) $(JAVAC_FLAGS) $(SRC)$(PACKAGE)
test:
$(MKBIN) | $(JAVAC) $(JAVAC_CP) $(LIB) $(SRCTEST)$(PACKAGE)
clean:
rm -rf $(TARGET)
run:
$(JVM) $(JAVAC_CP) $(TARGET) $(MAIN)
.PHONY: all test clean
Quand je suis en cours d'exécution make test
je reçois le texte suivant:
~/myProject | 18:07:29>make test
mkdir -p bin | javac -cp lib/*.jar test/org/myPackage/*.java
test/org/myPackage/MyClass.java:3: error: package org.junit does not exist
import static org.junit.Assert.*;
...
Dans Eclipse les tests fonctionnent parfaitement bien. Ce que je fais mal?
en regardant votre structure de dossier, il semble
Pourquoi êtes-vous de la tuyauterie de l' (inexistant) de sortie de
Merci, fixe. J'ai édité mon OP. Obtiens toujours la même erreur.
Merci, fixe et de fixe. J'ai édité mon OP. Obtiens toujours la même erreur.
lib
est à l'intérieur de test
dossier, si c'est le cas, je pense que votre $(LIB)
emplacement doit être changéPourquoi êtes-vous de la tuyauterie de l' (inexistant) de sortie de
mkdir
en javac? You should probably quote the
'lib/*.jar" argument pour éviter la coquille en expansion.Merci, fixe. J'ai édité mon OP. Obtiens toujours la même erreur.
Merci, fixe et de fixe. J'ai édité mon OP. Obtiens toujours la même erreur.
OriginalL'auteur xqtr | 2014-12-08
Vous devez vous connecter pour publier un commentaire.
MODIFIER TROUVÉ LA RÉPONSE
Ok, j'ai donc lu un peu plus et fait quelques changements.
Premier dans ma structure:
de ici.
Et mon nouveau makefile:
De sorte que les modifications sont les suivantes:
de ici.
J'ai oublié d'inclure
$(JAVAC_FLAGS)
àtest
de sorte qu'il n'a pas pour cible le bon dossier (racine de/au lieu de/bin/).Merci pour l'aide!
Vous mes amis ont sauvé la journée et m'a appris quelque chose. <3 <3 <3
OriginalL'auteur xqtr