I realise this has been asked a lot before but couldnt figure out the problem from those answers.
I have an abstract class Task:
package crowdtrust;
public abstract class Task
{
public enum Type
{
BinaryImageClassification;
};
public abstract void assignCrowd();
};
an implementation task:
package crowdtrust;
import java.util.Collection;
import java.util.List;
public class BinaryTask extends Task
{
private List<SubTask> subtasks;
public BinaryTask(String name, String question)
{
super();
this.name = name;
this.question = question;
}
public boolean assignSubtask(SubTask s)
{
return subtasks.add(s);
}
public void assignCrowd()
{
//TODO
}
};
and subtask class:
package crowdtrust;
public class SubTask {
//not important
}
these are all in ct/src/crowdtrust
from ct i run this makefile:
CONTEXT = webapps/ROOT
SRCDIR = src
CLASSDIR = $(CONTEXT)/WEB-INF/classes
LIBDIR = $(CONTEXT)/WEB-INF/lib
JAVAC = javac
SOURCES = $(wildcard $(SRCDIR)/crowdtrust/*.java)
CLASSES = $(SOURCES:.java=.class)
all: install clean
clean:
rm -f $(CLASSES)
install: $(CLASSES)
install -m600 $(CLASSES) $(CLASSDIR)/crowdtrust
%.class: %.java
$(JAVAC) -cp $(LIBDIR) $<
getting these (plus more similar) errors:
javac -cp webapps/ROOT/WEB-INF/lib src/crowdtrust/BinaryTask.java
src/crowdtrust/BinaryTask.java:6: cannot find symbol
symbol: class Task
public class BinaryTask extends Task
^
src/crowdtrust/BinaryTask.java:9: cannot find symbol
symbol : class SubTask
location: class crowdtrust.BinaryTask
private List<SubTask> subtasks;
^
any ideas what’s causing the error?
I believe it’s not finding the dependencies properly and
BinaryTaskis getting compiled beforeTask. To resolve, please define explicit dependency in your make file as: