2015-03-07 23 views
5

Ho problemi a ottenere una webapp per iniziare rapidamente usando il plugin maven jetty in eclipse. Sto usando il molo: obiettivo della corsa.limit jetty scanning in plugin maven

Dopo aver attivato la registrazione, il problema sembra essere che il molo esegue la scansione di tutti i vasi nella mia webapp per la configurazione delle app Web. L'inclusione di una dipendenza su jersey-media-moxy fa sì che il molo aggiunga 48 secondi alla sua ora di avvio.

Come si limita questa scansione nel plugin jetty-maven? Ho trovato Jetty startup delay due to scanning ma prima di fare qualche configurazione di jetty esterna e includere questa è la configurazione di maven, voglio assicurarmi che non ci sia un'opzione più semplice.

sembra promettente, ma non sono sicuro di come procedere (in quanto ciò non menziona neanche il plug-in Maven).

mio file pom.xml è riportato qui di seguito:

<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> 

    <groupId>com.my-app</groupId> 
    <artifactId>my-app</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>my-app</name> 

    <build> 
     <finalName>my-app</finalName> 
     <plugins> 
      <plugin> 
       <groupId>org.eclipse.jetty</groupId> 
       <artifactId>jetty-maven-plugin</artifactId> 
       <version>9.2.9.v20150224</version> 
       <configuration> 
        <war>${project.basedir}/target/my-app.war</war> 
        <stopPort>8088</stopPort> 
        <stopKey>foo</stopKey> 
        <stopWait>10</stopWait> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.5.1</version> 
       <inherited>true</inherited> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

    <dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId>org.glassfish.jersey</groupId> 
       <artifactId>jersey-bom</artifactId> 
       <version>${jersey.version}</version> 
       <type>pom</type> 
       <scope>import</scope> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 

    <dependencies> 
     <dependency> 
      <groupId>org.glassfish.jersey.containers</groupId> 
      <!-- artifactId>jersey-container-servlet-core</artifactId --> 
      <!-- use the following artifactId if you don't need servlet 2.x compatibility --> 
      <artifactId>jersey-container-servlet</artifactId> 
     </dependency> 
     <!-- uncomment this to get JSON support --> 
     <!-- --> 
     <dependency> 
      <groupId>org.glassfish.jersey.media</groupId> 
      <artifactId>jersey-media-moxy</artifactId> 
     </dependency> 
     <!-- --> 
    </dependencies> 
    <properties> 
     <jersey.version>2.16</jersey.version> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
</project> 

risposta

15

Questo è quello che uso per i miei progetti per accelerare Jetty avvio solo dal file Maven pom.xml (non è necessaria alcuna configurazione esterna):

 <plugin> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
      <configuration> 
       <webApp> 

        <!-- no need to scan anything as we're using servlet 2.5 and moreover, we're not using ServletContainerInitializer(s) --> 
        <!-- for more relevant information regarding scanning of classes refer to https://java.net/jira/browse/SERVLET_SPEC-36 --> 
        <webInfIncludeJarPattern>^$</webInfIncludeJarPattern> 
        <containerIncludeJarPattern>^$</containerIncludeJarPattern> 
        <!--<webInfIncludeJarPattern>.*/spring-[^/]*\.jar$|.*/.*jsp-api-[^/]\.jar$|./.*jsp-[^/]\.jar$|./.*taglibs[^/]*\.jar$</webInfIncludeJarPattern>--> 
       </webApp> 
      </configuration> 
     </plugin> 

Utilizzare qualsiasi regex di propria scelta (se si utilizzano gli inizializzatori di servlet). Si noti che ^$ esclude tutto.

+0

Mio Dio, questa risposta dovrebbe essere più prominente. Ho provato ad aggiungere 'metadata-complete =" true "' a in web.xml senza alcun risultato. – cheeze

+0

Upvoting, anche se questo non sembra giusto. Questa regex lo ha fatto per me (per JSF 2.2 e 2.3): '. * Javax [^ /] * \. Jar $ |. * Jsf [^ /] * \. Jar $' – Lars

Problemi correlati