Дублировать пакет в Eclipse - PullRequest
2 голосов
/ 21 января 2011

Я написал пакет в eclipse (то есть пакет Java / Android).Теперь я хочу сделать еще одну упаковку, которая немного отличается от оригинала.Мой план состоит в том, чтобы скопировать и вставить каждый файл .java в новый пакет, изменить import package.somename на имя нового пакета и разработать его оттуда.Есть ли лучший способ сделать это?

Ответы [ 4 ]

5 голосов
/ 21 января 2011

Выберите пакет в проводнике проекта, нажмите Ctrl + C, а затем Ctrl + V, Eclipse предложит предупреждение о конфликте имени пакета и попросит вас ввести новое имя пакета.Просто введите его, и Eclipse переупакует все скопированные классы соответственно.


Вне зависимости от проблемы, в вашем подходе есть запах дизайна:)

1 голос
/ 21 января 2011

В комментарии к ответу вы указали причину, по которой вы хотите это сделать: «Теперь я хочу выпустить бесплатную демо-версию с удалением некоторых функций».

Вместо того, чтобы копировать весь код в другой пакет, я бы использовал подход, состоящий в том, чтобы иметь только одну кодовую базу и использовать параметр сборки, чтобы указать, собираете ли вы бесплатную или коммерческую версию.Классы и конфигурации (например, spring), включенные в сборку, могут затем зависеть от этого параметра.

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

0 голосов
/ 21 января 2011

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

Чтобы ответить на этот вопрос, в Eclipse должна быть возможность скопировать весь пакет и вставить его обратно в проект. Вам придется переименовать один из пакетов, чтобы у вас было уникальное имя пакета.

0 голосов
/ 21 января 2011

Как насчет просто расширить классы, которые вы хотите изменить?Таким образом, вы можете две вариации в одном пакете

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