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

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

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект
10 мая 2024, в 23:33
2500 руб./за проект