У меня есть проект Java 6 Enterprise (WAR) в Maven3, созданный на основе
с этой структурой:
- EnterpriseProject (Super POM)
- ep-модель (создает JAR)
- ep-persist (производит JAR)
- ep-service(производит JAR)
- ep-ui (производит JAR)
- ep-webapp (складывает все вместе и производит WAR)
с зависимостями (->):
ep-webapp -> ep-ui -> ep-model
-> ep-service -> ep-model
-> ep-persist -> ep-model
Когда я запускаю «пакет» цели Enterprise Project, создается война в EnterpriseProject \ ep-webapp \ target \, и эта война содержит все необходимые библиотеки: ep-model,ep-persist, ep-service, ep-ui.
Q1) Правильно ли это решение?
Q2) Как добавить дополнительные модули (как установить зависимости)?
- ep-common (создает JAR)
- ep-ws (webservices; создает JAR)
Должен ли я добавлять только ep-общую зависимость в ep-weapp pom (только для добавления ep-common lib к войне) или везде, гдеЯ использую ep-common?
ep-webapp -> ep-ui -> ep-model
-> ep-service -> ep-model
-> ep-persist -> ep-model
-> ep-common
-> ep-ws
Большое спасибо за советы
Мое настоящее решение: EnterpriseProject Super pom:
<modelVersion>4.0.0</modelVersion>
<groupId>com.ep</groupId>
<artifactId>enterprise-project</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>Enterprise Project</name>
<modules>
<module>../ep-model</module>
<module>../ep-persist</module>
<module>../ep-service</module>
<module>../ep-ui</module>
<module>../ep-webapp</module>
</modules>
ep-webapp pom:
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ep</groupId>
<artifactId>enterprise-project</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../ep/pom.xml</relativePath>
</parent>
<artifactId>ep-webapp</artifactId>
<packaging>war</packaging>
<name>webapp</name>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>ep-ui</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
ep-ui pom:
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ep</groupId>
<artifactId>enterprise-project</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../ep/pom.xml</relativePath>
</parent>
<artifactId>ep-ui</artifactId>
<packaging>jar</packaging>
<name>ui</name>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>ep-model</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>ep-service</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
ep-модель pom:
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ep</groupId>
<artifactId>enterprise-project</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../ep/pom.xml</relativePath>
</parent>
<artifactId>ep-model</artifactId>
<packaging>jar</packaging>
<name>model</name>
ep-service pom:
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ep</groupId>
<artifactId>enterprise-project</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../ep/pom.xml</relativePath>
</parent>
<artifactId>ep-service</artifactId>
<packaging>jar</packaging>
<name>service</name>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>ep-model</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>ep-persist</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
ep-персон pom:
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ep</groupId>
<artifactId>enterprise-project</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../ep/pom.xml</relativePath>
</parent>
<artifactId>ep-persist</artifactId>
<packaging>jar</packaging>
<name>persist</name>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>ep-model</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>