Tomcat 7 - плагин Maven? - PullRequest
       40

Tomcat 7 - плагин Maven?

28 голосов
/ 15 сентября 2010

Я просто хотел перепроверить, кто-нибудь нашел или работает над плагином Tomcat 7? Если нет, кто-нибудь заинтересован в том, чтобы помочь мне запустить его?

Я хочу другую быструю альтернативу Glassfish, JBoss AS 6.0 немного тяжел для быстрых макетов.

Walter

Ответы [ 9 ]

41 голосов
/ 29 декабря 2010

Это работает для меня следующим образом.

Моя настройка.xml

 <server>  
   <id>local_tomcat</id>  
   <username>ray</username>  
   <password>password</password>  
 </server>  

Моя конфигурация плагина

 <plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>tomcat-maven-plugin</artifactId>
  <configuration>
     <server>local_tomcat</server>  
     <url>http://localhost:8080/manager/text</url>  
  </configuration>
 </plugin>

Мой tomcat-users.xml

 <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
  <user password="password" roles="manager-gui, manager-script" username="ray"/>
13 голосов
/ 06 ноября 2012

я использую официальный Tomcat7 Maven Plugin от Apache следующим образом:

            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.0</version>
                <configuration>
                    <path>/${project.artifactId}</path>
                    <port>8080</port>
                </configuration>
            </plugin>

и для его запуска: mvn tomcat7:run

8 голосов
/ 15 сентября 2010

В коде Google есть t7mp - плагин Tomcat 7 Maven.

Cargo (и его плагин Cargo Maven2) также поддерживает Tomcat 7 (это было CARGO-790 ).

Apache Tomcat Maven Plugin 2.0-beta-1 поддерживает Tomcat 7.

7 голосов
/ 08 ноября 2011

Существует плагин Tomcat Maven 7, разработанный командой Apache Tomcat.

В настоящее время вы должны проверить исходные коды и установить их в свой локальный репозиторий. После этого вы можете использовать его в разделе плагинов вашего pom:

      <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.0-SNAPSHOT</version>
        <executions>
          <execution>
            <id>start-tomcat</id>
            <phase>compile</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
                  <path>/</path>
                  <serverXml>src/main/tomcatconf/server.xml</serverXml>
                </configuration>
          </execution>
        </executions>
      </plugin>
7 голосов
/ 16 мая 2011

Используя maven cargo, вы можете настроить свой проект следующим образом:

<plugin>
    <groupId>org.codehaus.cargo</groupId>
    <artifactId>cargo-maven2-plugin</artifactId>
    <version>1.0.6</version>
    <configuration>
        <container>
            <containerId>tomcat7x</containerId>
            <type>installed</type>
            <home>${catalina.home}</home>
        </container>
        <configuration>
            <type>existing</type>
            <home>${catalina.home}</home>
        </configuration>
        <deployer>
            <type>installed</type>
            <deployables>
                <deployable>
                    <groupId>${project.groupId}</groupId>
                    <artifactId>${project.artifactId}</artifactId>
                    <type>war</type>
                </deployable>
            </deployables>
        </deployer>
    </configuration>
</plugin>       

не забудьте настроить catalina.home свойство

. Его можно развернуть, используя:

mvn cargo:deploy
5 голосов
/ 13 марта 2013

После того, как у меня была эта ошибка три дня подряд, вот мое решение:

Пользователю, которого вы используете для подключения, требуется как минимум сценарий диспетчера ролей.В вашем /conf/tomcat-users.xml

<role rolename="manager-script"/>
<user username="test" password="test" roles="manager-script"/>

В вашем pom.xml включите следующий плагин

    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.0</version>
      <configuration>
        <url>http://server.url:8080/manager/text</url>
        <path>/YourApp</path>
        <username>test</username>
        <password>test</password>
      </configuration>
    </plugin>

Вопреки тому, что я нашел в интернете, вы НЕ делаетенужно отредактировать свой maven setting.xml.Плагин tomcat7-maven можно настроить непосредственно в теге конфигурации

Слово к URL-тегу: я проверял суффикс

  • / manager
  • / manager / html
  • / manager / text

из которых только / manager / text работал

Мои версии:

  • Tomcat: 7.0.33
  • Maven: 3.0.4
  • tomcat7-maven-plugin: 2.0
  • Java: 1.7.0_07
2 голосов
/ 13 июня 2012

Я использую tomcat7-maven-plugin для моего встроенного экземпляра tomcat.Вот как я это настроил.Поскольку мое приложение требует аутентификации jaas, я также могу указать это в самой настройке.

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <configuration>
    <!-- http port -->
        <port>8080</port>
        <path>/gcs-explorers</path>
        <contextFile>${basedir}/src/main/webapp/META-INF/context.xml</contextFile>
        <addWarDependenciesInClassloader>true</addWarDependenciesInClassloader>
        <systemProperties>
            <java.security.auth.login.config>${basedir}/conf/jaas.config</java.security.auth.login.config>
        </systemProperties>
        <url>http://127.0.0.1:8080/manager/html</url>
        <username>admin</username>
        <password>admin</password>
        <addContextWarDependencies>true</addContextWarDependencies>
        <addWarDependenciesInClassloader>true</addWarDependenciesInClassloader>
        <configurationDir>${basedir}</configurationDir>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <version>2.2.0</version>
            <type>jar</type>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.company.package.jaas</groupId>
            <artifactId>gcs-jaas</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <type>jar</type>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.company.gcs</groupId>
            <artifactId>package-file-share</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <type>war</type>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.3</version>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
</plugin>
0 голосов
/ 17 января 2013

Собственно, стандартный плагин у меня работает. Мне просто нужно было создать диспетчер ролей для пользователей tomcat и изменить параметр url на http://localhost:8080/manager/html, чтобы он работал:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <configuration>
        <url>http://localhost:8080/manager/html</url>
        <server>local</server>
        <path>/${project.artifactId}</path>
        <update>true</update>
    </configuration>
</plugin>
0 голосов
/ 05 декабря 2010

Для Tomcat 7,

Шаг 1: На вкладке Модули сервера добавьте

Document base: <PATH>\Apache-Tomcat-7.0.0\webapps\manager
Path: /manager

Шаг 2: Обновите POM до:

<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
        <configuration>
          <url>http://localhost:8080/manager/text</url>
          <update>true</update>
                <warFile>target/${project.artifactId}-${project.version}.war</warFile>
                <path>/${project.artifactId}</path>
                <username>tomcat_user</username>
                <password>tomcat_password</password>
        </configuration>
</plugin>
...