2015-05-08 5 views
-1

У меня есть проект maven eclipse, который я хочу экспортировать как исполняемый файл jar из командной строки. В проекте также есть внешние библиотеки. Как я могу получить исполняемый файл jar, включая все библиотеки из командной строки?Экспорт как исполняемый файл jar

EDIT :: Теперь есть challenge.There фактически два projects.One является PROJECT и другой Project_Framework. Обе эти папки имеют pom.xml. Зависимости записаны в pom.xml в папке PROJECT. PROJECT зависит от Project_Framework. После добавления плагина maven-shade он говорит, что он не может найти зависимость моментального снимка от Project_Framework. Как я могу это решить?

+0

Возможный дубликат [Как создать исполняемую банку с зависимостями с помощью Maven?] (Http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies -using-maven) –

+0

@AlessandroDaRugna: В этом вопросе есть проблема для меня. На самом деле есть два проекта. Один из них - «ПРОЕКТ», а другой - «Project_Framework». Обе эти папки имеют pom.xml. Зависимости записываются в pom.xml в папке PROJECT. Где я должен добавить плагин? Это действительно сбивает меня с толку. –

ответ

2

Вы должны использовать maven-shade-plugin, чтобы добавить все dependecies в свою банку.

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-shade-plugin</artifactId> 
      <version>1.7</version> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>shade</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <finalName>${project.build.finalName}</finalName> 
       <transformers> 
        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> 
         <resource>META-INF/spring.handlers</resource> 
        </transformer> 
        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> 
         <resource>META-INF/spring.schemas</resource> 
        </transformer> 
       </transformers> 
      </configuration> 
     </plugin> 

Затем измените каталог на PROJECT_FRAMEWORK .then типа

mvn install 

Затем снова изменить каталог для PROJECT. Если вы добавили его, вы можете просто запустить

mvn package.

+0

Не используйте дополнительные версии [maven-shade-plugin. Текущая версия 2.3] (https://maven.apache.org/plugins/maven-shade-plugin/) – khmarbaise

+0

@khmarbaise: Все мои зависимости написаны в 'pom.xml'. Поэтому я считаю, что нет необходимости в плагине. Я ожидаю команду, которая должна это сделать. –

+1

@NevinRaj Вам нужен плагин. maven не включает файлы jar в артефакт. Это сделает плагин – Jens

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