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 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