Как включить файлы .class в мой проект в Eclipse? (Джава) - PullRequest
25 голосов
/ 19 марта 2009

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

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

TokenizerImpl tokenizer = new TokenizerImpl(foo);

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

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

Ответы [ 6 ]

40 голосов
/ 19 марта 2009

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

Это можно сделать, добавив папку класса в путь сборки Java приложения. Вы можете установить это в свойствах проекта, посетив Java Build Path -> Libraries -> Add Class Folder. Имейте в виду, что вам нужно будет указать корневую папку, содержащую файлы классов в их пакетах.

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

14 голосов
/ 19 марта 2009

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

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

1 голос
/ 19 марта 2009

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

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

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

0 голосов
/ 23 марта 2018

zip папка класса.

Выделите имя проекта, нажмите «Проект» на верхней панели инструментов, нажмите «Свойства», нажмите вкладку «Библиотеки», нажмите «Добавить внешние банки», добавьте zip-файл

0 голосов
/ 19 марта 2009

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

0 голосов
/ 19 марта 2009

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...