2012-02-07 3 views
2

У меня есть сотни файлов jar, разбросанных по разным проектам, которые мне нужны для создания файлов зависимостей файлов pom. Мне бы очень хотелось избежать ручного поиска каждого файла jar и добавления зависимостей вручную. Есть ли API, который я могу использовать для выполнения этой задачи или каким-либо другим способом?Автоматизация создания зависимостей pom-файлов на основе файла jar

Ive пытался использовать общий POM, как описано: http://maven.apache.org/plugins/maven-install-plugin/examples/generic-pom-generation.html

С помощью этой команды - МВН установки: установка-файл -Dfile = весна-webmvc-портлет-3.0.6.RELEASE -DgroupId = тест -DartifactId = тест -Dversion = version -Dpackaging = jar-DgeneratePom = true

Но должен ли сгенерированный pom не соответствовать файлу jar? Или мне нужно добавить это самостоятельно

<?xml version="1.0" encoding="UTF-8"?> 
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>test</groupId> 
    <artifactId>test</artifactId> 
    <version>version</version> 
    <packaging>jar-DgeneratePom=true</packaging> 
    <description>POM was created from install:install-file</description> 
</project> 

ответ

1

Вы можете создать скрипт bash, который использует плагин Maven Install для создания общего POM.

См http://maven.apache.org/plugins/maven-install-plugin/examples/generic-pom-generation.html

+0

См. Правки, я не думаю, что это решит мою проблему. –

+0

Вы забыли пробел: '-Dpackaging = jar -DgeneratePom = true' –

+0

Кажется, что работа в любом случае, так как я получил тот же результат. Я ожидаю, что pom автоматически будет содержать artifactId & groupId из-за того, что jar я укажу, но это does'nt кажется возможным, по крайней мере, используя генераторное поколение поколений –

3

Я написал скрипт, который генерирует файл плющ. Он использует контрольные суммы jar для идентификации соответствующих модулей в центре Maven.

https://github.com/myspotontheweb/ant2ivy

Это решение может быть выполнен с возможностью формировать Maven POM.

+0

Новая версия действительно создает файл maven pom. – ggb667

+0

@ GGB667 Да, я забыл. Мое намерение состояло в том, чтобы следить за механизмом Maven для управления банками, не идентифицированными поиском Nexus. Здесь плющ имеет большую гибкость, позволяющую распознать файловую систему. Надеюсь, этот инструмент помог. –

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