У вас возникли проблемы с вашим путом классов. ${project}/build/test/classes
и ${project}/build/classes
папки предполагают, что вы либо использовали Ant для компиляции кода, либо отметили «Разрешить выходные папки для исходных папок». вариант в диалоговом окне «Новый Java-проект Eclipse».
Вы должны настроить проект для компиляции всех исходных файлов в одну и ту же папку вывода, в вашем случае /build/classes
.
Если вы используете загрузчик классов для загрузки ресурса, то путь, который вы ему даете , не является абсолютным для всей файловой системы, даже если он начинается с /
.
InputStream is = this.getClass().getResourceAsStream("/some/resource");
Это на самом деле означает найти этот файл ${project}/build/classes/some/resource
. И для того, чтобы получить этот ресурс в целевом местоположении, самый простой способ - разместить его в ${project}/src/some/resource
.
Хотя вы должны использовать Maven и m2eclipse, если используете Eclipse.
вам нужно изменить свой путь к среде выполнения, чтобы включить тестовые ресурсы, код Java остается тем же самым – hoaz
Я хотел бы сделать это в коде, поскольку оба случая возможны. – cooltoad
загрузчик классов не может загрузить то, что не находится в его пути к классам. –