2014-01-24 4 views
1

У меня есть программа для работы с Java, которая использует папку «файл» для хранения журналов и «образной» папки для получения изображений своего gui. Я хочу опубликовать эту программу с видимыми файлами «.class» (чтобы я мог их обновить).Java, опубликовать с локальными папками

1-) В eclipse, когда я использую export -> Jar или export -> Executable Jar options. Его обертывает все в одной банке, и моя программа не работает (возможно, потому, что она не может найти файлы изображений). Я думаю, что я помню способ опубликовать код, поскольку он использует eclipse, но не может его найти: /. Как я могу опубликовать свой код, сохраняя папки, которые я хочу с помощью программы?

2) Неплохо ли хранить заметные файлы «.class» для обновлений? (я не хочу, чтобы люди пробирались в код, потому что он будет иметь URL-адрес базы данных и т. д.). Каковы мои альтернативы? Как вы делаете свои обновления?

Спасибо за ответы и простите меня, если я что-то спросил уже можно задать и ответить раз gazilion:/(.

+2

Гораздо проще обновить один файл jar, содержащий все, кроме обновления отдельных файлов .class. Вы должны упаковать все в файл jar и показать нам свой макет проекта, содержимое сгенерированной банки и соответствующий код, чтобы мы могли объяснить вам, почему загрузка изображений не работает. –

+0

Как файл jar - это просто zip-файл, проблемы безопасности, которые вы имеете с файлами 'visible .class', применяются одинаково. –

ответ

0

WOW, ваш комментарий зажег свет в моей голове =). Проблема решена :).

Что я делаю, это экспортный исполняемый банку и выбранные библиотеки для копирования в папку. И затем я скопировал внешние, а именно «файлы» и «изображения» папки в папку, где находится мой файл jar. И это сработало! знак равно

// Для второго вопроса, да, файл «.jar» минимален, поэтому его можно легко обновить.

Во втором вопросе я показал изображения в качестве ресурсов (может быть сделано с правой кнопкой мыши по относительной папке в eclipse), как рекомендовано.

Спасибо за ваш комментарий.

+2

Вам лучше также хранить изображения и файлы внутри банки. –

+0

Но это увеличит размер банки? В случае обновления, не проблема? А также, как я могу обращаться с ними из своего кода? – Ozan

+1

И что? У вас есть тысячи высококачественных изображений, настолько, что замена всей банки вместо отдельных изображений вызовет проблему?Я предполагаю, что у вас есть несколько значков, что увеличит размер банки в несколько килобайт. И, как и файлы .class, обновление одного файла jar проще, чем обновление нескольких отдельных изображений. Чтобы загружать изображения из файла jar (в основном из пути к классам), см. Http://stackoverflow.com/questions/16486858/packaging-a-program-containing-images и http://stackoverflow.com/questions/ 17085692/нагрузки изображения из-банки-и-вне-он-в-затмения –

0

Многие из этих вопросов исчезнут после того, как вы начнете использовать maven в качестве среды сборки. Важное значение имеет упаковка и обработка ресурсов, если вы хотите развернуть свой Java-код во внешний мир (придерживаясь стандартных шаблонов).

Общий шаблон для загрузки ресурсов внутри Jar (как я понял, из кода Java) является использование

MyClass.class.getRessourceAsStream("yourfile.whatever") 

Или используйте FileIO.

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

Смежные вопросы