2016-05-03 3 views
0

У меня возникли некоторые проблемы при создании файла JAR, тип проекта которого является pom и добавление этой банки в другой проект как зависимость.Создать файл Jar с помощью maven Plugin

Я использую maven заштрихованные плагины, чтобы сделать JAR. Он хорошо компилируется, но создает файл jar в целевом каталоге проекта, но не в папке .m2. Более того, когда я извлечь файл не имеет классы и ресурсы и т.д.

здесь являются два проекта я

1) ProjectTestB Проект B является независимым проектом, которые имеют различные модули, такие как планировщик , сервис, веб-модуль, который добавляет в зависимости в другом проекте

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>TestProjectB</groupId> 
    <artifactId>ProjectTestB</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>pom</packaging> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-shade-plugin</artifactId> 
     <version>2.4.3</version> 
     <executions> 
      <execution> 
      <phase>package</phase> 
      <goals> 
       <goal>shade</goal> 
      </goals> 
      <configuration> 
       <artifactSet> 
       <excludes> 
        <exclude>classworlds:classworlds</exclude> 
        <exclude>junit:junit</exclude> 
        <exclude>jmock:*</exclude> 
        <exclude>*:xml-apis</exclude> 
        <exclude>org.apache.maven:lib:tests</exclude> 
        <exclude>log4j:log4j:jar:</exclude> 
       </excludes> 
       </artifactSet> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 

    </plugins> 
    </build> 
    <modules> 
     <module>scheduler</module> 
    </modules> 
</project> 

2) ProjectA

Проект A содержит зависимость ProjectB и некоторых других служб и бизнес-классов. Только Проект A Содержит Основной класс, который создаст исполняемый файл JAR

Pom.xml 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>projectA</groupId> 
    <artifactId>projectA</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.2.1.RELEASE</version> 
    </parent> 
    <dependencies> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 


    <dependency> 
     <groupId>TestProjectB</groupId> 
      <artifactId>ProjectTestB</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
     </dependency> 
    </dependencies> 
</project> 

Таким образом, вопросы являются

1) Как сделать банку, которые имеют все классы, ресурсы и т.д., если пакет проекта POM (проект B)?

2) Как я могу добавить файл jar проекта B в путь к классу Project A для доступа к его модулям?

ответ

0

Как я вижу, вы пытаетесь сделать что-то странное.

Ваш projectB имеет много модулей, поэтому ваш projectA должен иметь зависимость от этих модулей. Вспомогательный модуль projecB имеет тип jar, поэтому вы можете легко от него зависаться, не делая магии с projectB

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