javac junit gibt “error: package org.junit ist nicht vorhanden"

Ich versuche, die Verwendung von JUnit in ein makefile, aber ich kann nicht ankommen es zu wirken.

Meine Ordner-Struktur ist wie folgt (makefile ist in myProject):

myProject
|--bin
|--main
    |--org
        |--myPackage
|--test
    |--org
    |   |--myPackage
    |
    |--lib

wo /main enthält die wichtigsten Dateien /test enthält test-Dateien und /lib enthält hamcrest-core-1.3.jar und junit-4.12.jar

Mein makefile ist wie folgt:

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

Wenn ich laufen gehe make test bekomme ich die folgende:

~/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.*;

...

In Eclipse die tests funktionieren einwandfrei. Was mache ich falsch?

  • suchen Sie in Ihrer Ordner-Struktur scheint es lib innerhalb test Ordner, wenn es ist, dann denke ich, Ihr $(LIB) Standort muss geändert werden
  • Warum sind Sie Rohrleitungen, die (nicht vorhandene) Ausgabe von mkdir in javac? You should probably quote the 'lib/*.jar" argument, um die shell-Erweiterung zu.
  • Danke, behoben. Ich bearbeitet meine OP. Immer noch die gleichen Fehler.
  • Danke, fester und fester. Ich bearbeitet meine OP. Immer noch die gleichen Fehler.
InformationsquelleAutor xqtr | 2014-12-08
Schreibe einen Kommentar