@ilavio

Как в много модульном проекте запустить tomcat-plagin (использую Eclipse)?

Столкнулся с проблемой запуска Tomcat в много модульном проекте на Eclipse. В моем проекте есть три под модуля: api, db, impl. В api есть классы (в моем случае интерфейсы) которые нужны в impl модуле. Я указал в родительском модуле groupId, artefaktId, version - api. Потом указал в подмодуле impl эти данные. IDE увидела эти интерфейсы в модуле impl (т.е. не ругается и не подчеркивает когда их implements). Но когда я деплою impl (запускаю в встроенном в Eclipse tomcat8.5) вылазит ошибка об отсутствии данных интерфейсов из под модуля api. Как настроить maven чтобы копировались (вытягивались) эти интерфейсы и вставлялись в tomcat? (на просторах интернета указано только как добавить в dependancy pom.xml)
Или как можно запустить tomcat-plagin чтобы он подхватывал классы из другого под модуля? (Ах да, мой проект использует Spring WEB, Spring DATA, Dynamic Web Module - 3.1 - настройки все через аннотации, web.xml нету)
А то он (tomcat7-maven-plugin) запускается, но не как не реагирует на запросы и ошибки даже не выдает!
Вот pom.xml под модуля impl:
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <packaging>war</packaging>
    <url>http://maven.apache.org</url>
    <artifactId>i-impl</artifactId>
    <name>java_courses_tlt-impl</name>
    <parent>
        <groupId>com.potemkin</groupId>
        <artifactId>i</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </properties>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.junit.platform/junit-platform-runner -->
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-runner</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.mockito/mockito-all -->
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.mockito/mockito-core -->
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.mockito/mockito-junit-jupiter -->
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-junit-jupiter</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.liquibase/liquibase-core -->
        <dependency>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-core</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.json/json -->
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-jpa -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api -->
        <dependency>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- Мои зависимости -->
        <dependency>
            <groupId>com.potemkin</groupId>
            <artifactId>i-api</artifactId>
        </dependency>
    </dependencies>

    <build>
        <finalName>java_courses_tlt-impl</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <port>8080</port>
                    <path>/java_courses_tlt-impl</path>
                </configuration>
            </plugin>  
        </plugins>
    </build>
</project>


Также пытался вставлять такие настройки pom:
<plugin>
                <groupId>org.codehaus.cargo</groupId>
                <artifactId>cargo-maven2-plugin</artifactId>
                <version>1.7.6</version>
                <configuration>
                    <container>
                        <containerId>tomcat9x</containerId>
                        <type>embededded</type>
                    </container>
                    <configuration>
                        <properties>
                            <cargo.servlet.port>8080</cargo.servlet.port>
                            <cargo.tomcat.manager.url>http://localhost:8080</cargo.tomcat.manager.url>
                        </properties>
                    </configuration>
                    <deployables>
                        <deployable>
                            <groupId>com.potemkin</groupId>
                            <artifactId>i-impl</artifactId>
                            <type>war</type>
                            <properties>
                                <context>/</context>
                            </properties>
                        </deployable>
                    </deployables>
                </configuration>

                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>

            </plugin>
  • Вопрос задан
  • 127 просмотров
Пригласить эксперта
Ответы на вопрос 1
@ilavio Автор вопроса
ЧЕРЕЗ Tomcat7-plugin так и не получилось запустить. Но мои зависимости увидел полноценный Tomcat9, в проекте я использовал динамический веб модуль 3.1. Настройки через Spring Аннотации. Много модульный проект. Установка tomcat происходила по этому видео: https://youtu.be/QWLjhk6LeSQ
А потом деплоил вручную. Не очень удобно. Интересно есть ли способ связать полноценный Tomcat9 с Eclipse чтобы проект запускать из IDE. (я пытался ставить модуль tomcat 9 на Eclipse, он тоже не видит мою зависимость из другого под модуля, только полноценный видит).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы