2010-02-18 2 views
1

Как заставить eclipse обрабатывать каталог, содержащий файлы классов, в качестве каталога ресурсов и скопировать его в папку вывода (bin)?Задание файлов .class в качестве ресурсов и их скопирования в папку вывода (bin) - Eclipse

Мой проект Структура подобна этой

src 
    com 
    package1 
     all source files (.java) 
     image files 
    package2 
     some dependent class files (.class) 
bin 
    com 
    package1 
     generated .class files for source files 
     image files 
    package2 
     (empty) 

В затмении я указанный exculsion фильтр для исключения src\com\package2 из списка исходной папки. И я добавил абсолютный путь к папке src в пути построения, поэтому классы в src\com\package2 доступны для сборки исходных файлов.

Теперь я хочу экспортировать весь набор классов (сгенерированных и связанных) в файл JAR. Для этого мне нужно иметь классы src\com\package2 в папке bin\com\package2, которая теперь пуста. Есть ли способ заставить eclipse обрабатывать файлы классов в src\com\package2 как файлы ресурсов (например, изображения в src\com\package1) и скопировать их в bin\com\package2?

PS: Runnable JAR не является вариантом, поскольку у меня так много библиотек.

+0

Я не знаю, как настроить экспорт в eclipse, как вы описываете. Но может быть, простой ANT-Script сделает? Вы можете скопировать все нужные ресурсы в одну папку и вызвать задачу «jar» Ant. – Arne

+0

Я думаю, что есть более простой способ, чем это, и это не потребует, чтобы вы обрабатывали файлы .class как ресурсы. Можно ли спросить Eclipse «создать банку» и указать корневой каталог? Вы можете использовать IntelliJ. – duffymo

ответ

3

Создайте новую папку в корне проекта. Переместите файлы классов в эту папку и добавьте их как «папку классов» в пути Java Build. Теперь, экспортируя банку, вы можете выбрать папку класса, и вы получите то, что хотите в банке.

+0

Вам просто нужна отдельная папка, на которую можно ссылаться в пути сборки Java. Он не должен быть в корне проекта. Например, '/ src/classes/com/package2' будет работать так же хорошо, как '/ classes/com/package2'. Просто убедитесь, что вы добавили '/ src/classes' в путь сборки, а не '/ src/classes/com/package2', чтобы папки добавились в JAR. – Faron

+0

Фарон, вы правы. Я дал ответ, который решает проблему, не смешивая файлы источника и класса. В идеале файлы классов должны были попасть в файл jar с информацией о версии. – Adi