2010-09-08 6 views

Respuesta

6

Por desgracia, después de hacer algunas investigaciones, no creo que haya una manera de editar los conectores de server.xml. mvn tomcat:run usa un Tomcat integrado.

A menos que alguien encuentre algo, parece que su mejor opción será pasar al maven cargo plugin y comprimir su propia instalación de Tomcat con su server.xml personalizado.

<cargo containerId="tomcat7x" [...]> 
    <zipUrlInstaller 
     installUrl="file://tomcat-custom.zip", 
     installDir="target/installs"/> 
    [...] 
</cargo> 

O algo por el estilo ...

+0

Parece que tienes razón, no hay forma de hacerlo en otro momento que no sea rodar mi propio truco, como a través del plugin de carga . – niklassaers

1

ver http://docs.codehaus.org/display/CARGO/Custom+File+Configurations

i que puede hacerlo de esta manera y coloque su server.xml costumbre en su proyecto:

<configuration> 
    <type>standalone</type> 
    <configfiles> 
     <configfile> 
      <file>${basedir}/src/main/resources/server.xml</file> 
      <todir>conf</todir> 
     </configfile> 
    </configfiles> 
</configuration> 

y use la carga por defecto server.xml como plantilla para obtener pr reemplazo opiedad:

<Server port="@[email protected]" shutdown="SHUTDOWN" debug="@[email protected]"> 

    <Service name="Catalina" debug="@[email protected]"> 

    <Connector port="@[email protected]" 
     maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
     enableLookups="false" redirectPort="8443" acceptCount="100" 
     connectionTimeout="20000" disableUploadTimeout="true" 
     scheme="@[email protected]" secure="@[email protected]" 
     debug="@[email protected]" 
     emptySessionPath="@[email protected]" 
     URIEncoding="@[email protected]" /> 

    <!-- Define an AJP 1.3 Connector on port @[email protected] --> 
    <Connector port="@[email protected]" protocol="AJP/1.3" redirectPort="8443" /> 

    <Engine name="Catalina" defaultHost="@[email protected]" 
     debug="@[email protected]"> 

     <Realm className="org.apache.catalina.realm.MemoryRealm" /> 

     <!-- Note: There seems to be a bug in Tomcat 5.x if the debug attribute 
      is present. Ideally we would have written: 
       debug="@[email protected]" 
      However, doing this result in a NullPointerException in 
      ExpandWar.java at line 145. --> 
     <Host name="@[email protected]" appBase="webapps" unpackWARs="true" 
      autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> 

     <!-- Contexts to explicitely point to where the wars are located --> 
     @[email protected] 

     <Valve className="org.apache.catalina.valves.AccessLogValve" 
      directory="logs" prefix="@[email protected]_access_log." suffix=".txt" 
      pattern="common" resolveHosts="false"/> 

     </Host> 
    </Engine> 
    </Service> 
</Server> 
3

He estado experimentando con el uso del parámetro serverXml para la tomcat:run objetivo (http://tomcat.apache.org/maven-plugin-2/tomcat6-maven-plugin/run-mojo. html # serverXml).

Parece que la siguiente server.xml se ejecuta sin errores, pero sin un elemento Context no carga la aplicación web. Creo que si he copiado mi elemento Context de src/main/webapp/META-INF/context.xml al interior del elemento Host, que podría funcionar muy bien:

<?xml version='1.0' encoding='utf-8'?> 
<Server port="-1" shutdown="SHUTDOWN"> 
    <Service name="Catalina"> 
     <Connector port="8080" protocol="HTTP/1.1" /> 
     <Engine name="Catalina" defaultHost="localhost"> 
      <Host name="localhost" appBase="webapps"> 
      </Host> 
     </Engine> 
    </Service> 
</Server> 

a correr con este servidor, que paso por el serverXml como una propiedad en la línea de comandos Maven:

mvn -Dmaven.tomcat.serverXml=src/main/resources/server.xml tomcat:run 

el objetivo podría tener que ser tomcat6:run si está utilizando una versión del plug-in que es compatible tanto con Tomcat 6 y 7.

7

el org.codehaus. mojo: tomcat-maven-plugin te dejará et la ruta al archivo server.xml en la sección de configuración:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>tomcat-maven-plugin</artifactId> 
    <configuration> 
    <serverXml>path_to_server_xml_file</serverXml> 
    </configuration> 
</plugin> 
Cuestiones relacionadas