Подтвердить что ты не робот

Как включить файлы .class в мой проект в Eclipse? (Ява)

Эй, все. Я работаю над проектом для школы, где нам предоставляется файл .class, но не источник для включения в наш код. Я использую Eclipse, и я хочу включить файл в свой проект, чтобы я мог создавать объекты из него и использовать его.

Файл - TokenizerImpl.class, и я хочу использовать его следующим образом:

TokenizerImpl tokenizer = new TokenizerImpl(foo);

Я помещаю файл в папку проекта, и Eclipse говорит, что "TokenizeImpl не может быть разрешен как тип", который, как я полагаю, означает, что он не может найти класс или источник. Я попытался поместить его в папку "bin" проекта и получил ту же ошибку. Поиск Google и поиск SO, похоже, не отвечали на это, поэтому я дам ему шанс. Как мне это сделать, мудрые?

Изменить: О, дорогая, я обнаружил, что проблема была совсем другая. Эти решения работали нормально, но я просто забыл создать интерфейс Tokenizer, который реализует TokenizerImpl. Doh. Спасибо за вашу помощь, но я много узнал о затмении.

4b9b3361

Ответ 1

Вы можете добавить каталог, содержащий файлы классов, в проект Eclipse, только если он находится внутри одного из ваших проектов Eclipse, либо в сгенерированном каталоге, либо в том, что вы создали.

Это можно сделать, добавив папку класса в путь сборки Java приложения. Вы можете установить это в свойствах проекта, посетив путь сборки Java → Библиотеки → Добавить классную папку. Имейте в виду, что вам нужно будет указать корневую папку, содержащую файлы классов в своих пакетах.

Поэтому, если вы хотите получить доступ к компилятору com.stackoverflow.Example.class в каталоге классов в проекте A (но не в пути сборки проекта A), тогда вы должны добавить "классы" в качестве класса папке, а не класса /com/stackoverflow в качестве папки класса.

Ответ 2

Проект → Свойства → Путь сборки Java → Библиотеки → Добавить папку внешнего класса

Папка должна содержать иерархию пакетов, т.е. если ваш класс действительно является foo.bar.TokenizerImpl, он должен находиться в подкаталоге foo/bar.

Ответ 3

Вы также можете JAR файлы классов, которые вы хотите добавить, и добавьте JAR файл в зависимости от сборки. Для меня это самое чистое решение. Конечно, в JAR файле должна быть правильная структура каталогов.

Щелкните правой кнопкой мыши в своем проекте и выберите Java Build Path для добавления новых зависимостей.

Копирование его в папку bin не будет работать очень хорошо, потому что оно предназначено для хранения результатов скомпилированных источников. Как только вы очистите что-нибудь, файл исчезнет.

Ответ 4

Другие люди теперь дали лучшие ответы. Этот "ответ" заключался в основном в получении информации от ОП, потому что исходный вопрос на самом деле не сказал нам полностью, что было опробовано. Теперь есть два ответы, которые действительно отвечают на вопрос в долгосрочной перспективе.

Мой исходный ответ оставлен ниже для контекста.

Скопировали ли вы его в папку bin в Eclipse или вне Eclipse? Если вы сделали это за пределами Eclipse, вам нужно щелкнуть правой кнопкой мыши по папке "bin" и выбрать "обновить" для Eclipse, чтобы увидеть новый файл.

Файл A *.class в соответствующей папке (в зависимости от его пакета) в каталоге bin должен сделать это.

Ответ 5

или поместите все в файл jar и добавьте это как внешнюю банку.