2015-06-26 2 views
0

Maven создает пустую папку вместо получения соответствующего .jar.Maven создает пустую папку вместо получения соответствующего .jar

У меня есть проект, состоящий из 3 модулей: один из модулей является общей частью для двух других. В то время как два модуля производят WAR-файлы, третий должен создавать JAR, который должен быть встроен в две другие папки WEB-INF/lib.

Проект JAR - это простой проект «библиотеки». Когда я заканчиваю свою работу, я запускаю цель «установить», чтобы поместить ее в мой локальный репозиторий, и это работает! Другие prject видят их, могут использовать его классы и все остальное. Когда я пытаюсь создать WAR-файл, maven копирует все зависимости в папку WEB-INF/lib в виде файла jar, кроме моего третьего проекта. Maven создаст пустую папку, названную как мой проект, с суффиксом «.jar».

Как это исправить?

Мой WAR проект pom.xml файл

<?xml version="1.0"?> 
<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> 

<parent> 
    <groupId>it.m2sc.com</groupId> 
    <artifactId>LiveDocs</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
</parent> 

<artifactId>UIM</artifactId> 
<version>1.0-SNAPSHOT</version> 
<packaging>war</packaging> 
<name>UIM</name> 
<url>http://maven.apache.org</url> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <cxf.version>2.2.2</cxf.version> 
    <spring.version>2.5.6</spring.version> 
    <webapp.path>src/main/webapp/</webapp.path> 
</properties> 

<dependencies> 
    <!-- UIMDomain --> 
    <dependency> 
     <groupId>it.m2sc.com</groupId> 
     <artifactId>UIMDomain</artifactId> 
     <version>3.2</version> 
    </dependency> 
    <!-- Adobe dependencies --> 
    <dependency> 
     <groupId>com.adobe</groupId> 
     <artifactId>adobe-livecycle-client</artifactId> 
     <version>1.0</version> 
    </dependency> 
    <dependency> 
     <groupId>com.adobe</groupId> 
     <artifactId>adobe-repository-client</artifactId> 
     <version>1.0</version> 
    </dependency> 
    <dependency> 
     <groupId>com.adobe</groupId> 
     <artifactId>adobe-usermanager-client</artifactId> 
     <version>1.0</version> 
    </dependency> 
    <!-- Base dependencies --> 
    <dependency> 
     <groupId>commons-beanutils</groupId> 
     <artifactId>commons-beanutils</artifactId> 
     <version>1.8.2</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-collections</groupId> 
     <artifactId>commons-collections</artifactId> 
     <version>3.2.1</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-lang</groupId> 
     <artifactId>commons-lang</artifactId> 
     <version>2.4</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-logging</groupId> 
     <artifactId>commons-logging</artifactId> 
     <version>1.1.1</version> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.17</version> 
     <scope>provided</scope> 
    </dependency> 
    <!-- Apache CXF dependencies --> 
    <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-frontend-jaxws</artifactId> 
     <version>${cxf.version}</version> 
     <exclusions> 
      <exclusion> 
       <groupId>org.apache.geronimo.specs</groupId> 
       <artifactId>geronimo-stax-api_1.0_spec</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-transports-http</artifactId> 
     <version>${cxf.version}</version> 
     <exclusions> 
      <exclusion> 
       <groupId>org.apache.geronimo.specs</groupId> 
       <artifactId>geronimo-stax-api_1.0_spec</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.axis</groupId> 
     <artifactId>axis</artifactId> 
     <version>1.4</version> 
    </dependency> 
    <!-- Spring dependencies --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-orm</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-tx</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-jdbc</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-aop</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 
    <!-- Other dependencies --> 
    <dependency> 
     <groupId>aopalliance</groupId> 
     <artifactId>aopalliance</artifactId> 
     <version>1.0</version> 
    </dependency> 
    <dependency> 
     <groupId>asm</groupId> 
     <artifactId>asm</artifactId> 
     <version>3.0</version> 
    </dependency> 
    <dependency> 
     <groupId>cglib</groupId> 
     <artifactId>cglib-nodep</artifactId> 
     <version>2.1_3</version> 
    </dependency> 
    <dependency> 
     <groupId>org.opensymphony.quartz</groupId> 
     <artifactId>quartz-all</artifactId> 
     <version>1.6.1</version> 
    </dependency> 
    <dependency> 
     <groupId>net.sf.json-lib</groupId> 
     <artifactId>json-lib-ext-spring</artifactId> 
     <version>1.0.2</version> 
    </dependency> 
    <!-- Test dependencies --> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-test</artifactId> 
     <version>${spring.version}</version> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

<build> 
    <finalName>UIMBack</finalName> 
    <plugins> 
     <!-- Compile --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
     <!-- Build --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.4</version> 
      <configuration> 
       <archive> 
        <manifest> 
         <addClasspath>true</addClasspath> 
         <classpathPrefix>lib/</classpathPrefix> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

ответ

0

То, что работает для меня:

В файле настройки проекта

.settings/org.eclipse.wst.common.component 

удалили следующую строку:

<wb-resource deploy-path="/" source-path="/WebContent"/> 

Описание зависимости Maven (которое не удалось выполнить заранее) следует за/WebContent. Например:

<dependent-module archiveName="____.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/____"> 
    <dependency-type>uses</dependency-type> 
</dependent-module> 

Любая идея, как эта магия произошла?

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