2016-08-27 3 views
1

У меня возникла проблема правильно настроить весеннюю загрузку для моего мультимодульного проекта maven.Конфигурация Spring Boot в проекте с несколькими модулями maven intellij

Я пытаюсь создать проект с несколькими модулями, который содержит два модуля, ядро ​​и модуль tierce. сердечник основан на пружинном ботинке (tomcat)

Родник Pom - | ----------- Основной модуль (пружинный ботинок) - | ----------- Module tierce

Мое quiestion - это то, как настроить и запустить приложение, используя этот контейнер для сервлетов tomcat в рамках проекта maven multi moduls.

Мой родитель 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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

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

    <groupId>parent</groupId> 
    <artifactId>parent</artifactId> 
    <!--The packaging is defined as ‘pom’ to tell maven not to package--> 
    <packaging>pom</packaging> 
    <version>1.0</version> 
    <name>pfe Soliam Monitoring</name> 

    <properties> 
     <spring-boot.version>1.3.3.RELEASE</spring-boot.version> 
    </properties> 

    <modules> 
    <module>core</module> 
    <module>tierce</module> 
    </modules> 

    <build> 
    <pluginManagement> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
      <source>1.7</source> 
      <target>1.7</target> 
      </configuration> 
     </plugin> 
     </plugins> 
    </pluginManagement> 
    </build> 

    <dependencies> 

    <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.17</version> 
     </dependency> 

    <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.11</version> 
      <scope>compile</scope> 
     </dependency> 

    </dependencies> 
</project> 

модуль ядра pom.xml файл

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

    <parent> 
     <groupId>parent</groupId> 
     <artifactId>parent</artifactId> 
     <version>1.0</version> 
    </parent> 

    <groupId>core</groupId> 
    <artifactId>core</artifactId> 
    <version>1.0-SNAPSHOT</version> 


    <properties> 
     <java.version>1.7</java.version> 

      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 

     </properties> 




    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
       <version>1.3.3.RELEASE</version> 
      </plugin> 
     </plugins> 
    </build> 
    <dependencies> 

     <dependency> 
      <groupId>com.thetransactioncompany</groupId> 
      <artifactId>cors-filter</artifactId> 
      <version>2.5</version> 
     </dependency> 

     <dependency> 
      <groupId>org.intrace</groupId> 
      <artifactId>org.intrace</artifactId> 
      <version>1.0-SNAPSHOT</version> 
     </dependency> 
     <!--<dependency>--> 
      <!--<groupId>com.oracle</groupId>--> 
      <!--<artifactId>ojdbc6</artifactId>--> 
      <!--<version>11.2.0.1.0</version>--> 
     <!--</dependency>--> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>4.2.5.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-jdbc</artifactId> 
      <version>4.2.5.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-lang3</artifactId> 
      <version>3.4</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-lang</groupId> 
      <artifactId>commons-lang</artifactId> 
      <version>2.6</version> 
     </dependency> 


     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter</artifactId> 
      <exclusions> 
       <exclusion> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-logging</artifactId> 
       </exclusion> 
      </exclusions> 

     </dependency> 
     <dependency> 
      <groupId>commons-logging</groupId> 
      <artifactId>commons-logging</artifactId> 
      <version>1.2</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-rest</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.data</groupId> 
      <artifactId>spring-data-rest-hal-browser</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-jersey</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.retry</groupId> 
      <artifactId>spring-retry</artifactId> 
     </dependency> 

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


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

     <dependency> 
      <groupId>org.jvnet.opendmk</groupId> 
      <artifactId>jmxremote_optional</artifactId> 
      <version>1.0_01-ea</version> 
     </dependency> 

     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-core</artifactId> 
      <version>2.7.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-amqp</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>jboss</groupId> 
      <artifactId>jboss-jmx</artifactId> 
      <version>4.2.2.GA</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.activemq</groupId> 
      <artifactId>activemq-all</artifactId> 
      <version>5.12.3</version> 
     </dependency> 
     <dependency> 
      <groupId>org.scala-lang</groupId> 
      <artifactId>scala-library</artifactId> 
      <version>2.11.0</version> 
     </dependency> 
     <dependency> 
      <groupId>antlr</groupId> 
      <artifactId>antlr</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>xalan</groupId> 
      <artifactId>xalan</artifactId> 
      <version>2.7.1</version> 
     </dependency> 

     <dependency> 
      <groupId>org.jboss.spec.javax.ejb</groupId> 
      <artifactId>jboss-ejb-api_3.1_spec</artifactId> 
      <version>1.0.2.Final</version> 
     </dependency> 

     <!--<dependency> 
      <groupId>org.jboss</groupId> 
      <artifactId>jboss-remote-naming</artifactId> 
      <version>2.0.4.Final</version> 

     </dependency>--> 

     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.17</version> 
     </dependency> 

     <dependency> 
      <groupId>org.neo4j</groupId> 
      <artifactId>neo4j-cypher-compiler-2.2</artifactId> 
      <version>2.2.5</version> 
     </dependency> 
    </dependencies> 


</project> 

терсе pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<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>tierce</groupId> 
    <artifactId>tierce</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 
    <properties> 
     <java.version>1.7</java.version> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <parent> 
     <groupId>parent</groupId> 
     <artifactId>parent</artifactId> 
     <version>1.0</version> 
    </parent> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.0</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 


    <dependencies> 

     <dependency> 
      <groupId>asm</groupId> 
      <artifactId>asm-debug-all</artifactId> 
      <version>3.3</version> 
     </dependency> 

     <dependency> 
      <groupId>com.goebl</groupId> 
      <artifactId>david-webb</artifactId> 
      <version>1.3.0</version> 
     </dependency> 

     <dependency> 
      <groupId>net.sf.json-lib</groupId> 
      <artifactId>json-lib</artifactId> 
      <version>2.4</version> 
      <classifier>jdk15</classifier> 
     </dependency> 

     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.11</version> 
      <scope>compile</scope> 
     </dependency> 

    </dependencies> 

</project> 

приработки класса на основе пружинного загрузки (начиная tomcat)

@SpringBootApplication 
    @Component 

    public class coreApplication { 

     databaseConnectionImpl dbconn = new databaseConnectionImpl(); 

     public static void main(String[] args) throws Exception { 

      SpringApplication.run(coreApplication.class, args); 
     } 

    } 

ответ

0

Я предполагаю, что сначала для решения, но пытаетесь ли вы использовать функциональность в уровне артефакта внутри ядра? Если это так, вам все равно нужно объявить этот артефакт в ваших зависимостях от ядра. Или, если ядро ​​является базой для создания нескольких приложений, тогда вы включите ядро ​​в свой проект tierce и начнете приложение оттуда.

Просто имея модуль с несколькими модулями, не имеет никакого отношения к тому, как зависимости отображаются на пути к классам.

+0

основной класс использования (сервис), реализованный в модуле tierce, основной модуль будет использовать приложение – user3237201

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