Добавить скомпилированный класс Java в проект Maven - PullRequest
7 голосов
/ 07 февраля 2011

Я получил несколько скомпилированных классов, которые мне нужно добавить в проект.

Одно из решений, которое я могу придумать, - это создать банку с этими файлами и вручную загрузить ее в хранилище. Очевидно, это будет работать. Но мне интересно, есть ли более элегантное решение. Может быть, я могу их как-то поместить в структуру проекта? Таким образом, файлы будут возвращены в систему контроля версий, и им будет проще поддерживать их версии и т. Д.

Ответы [ 2 ]

8 голосов
/ 06 апреля 2011

Вот мой подход к комментариям к ответу Бориса (после того, как я обнаружил, что мне нужно использовать то же самое вчера, но не смог найти ссылку на ответ, который я использовал):

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

Добавьте следующий репозиторий файлов в ваш проект pom.xml:

<repositories>
    <repository>
        <id>file.repo</id>
        <url>file://${project.basedir}/repo</url>
    </repository>
</repositories>

Упакуйте ваши классы как jar и разверните их в хранилище файлов, используя следующую команду:

mvn deploy:deploy-file
-Durl=file:///absolute/path/to/your-project/repo \
-DrepositoryId=file.repo \
-Dfile=path-to-your.jar \
-DgroupId=some.external.project.group \
-DartifactId=the-artifact-name \
-Dversion=1.0 \
-Dpackaging=jar;

После этого вы можете просто добавить обычную зависимость от jar в вашем проекте pom.xml, используя значения для groupId, artifactId и версии, которые вы передали выше. Затем вы можете добавить папку репозитория в SVN и зафиксировать изменения в pom.xml. Любой разработчик, проверяющий ваш проект, теперь сможет без труда использовать эту же зависимость.

2 голосов
/ 07 февраля 2011

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

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