2015-03-07 15 views
5

Mam problemy z uzyskaniem aplikacji webowej, aby szybko rozpocząć korzystanie z wtyczki maven w Eclipse. Używam pomostu: biegnij do celu.Ograniczenie skanowania pomostów w maven plugin

Po włączeniu logowania wydaje się, że pomost skanuje wszystkie słoiki w moim webapperze pod kątem konfiguracji aplikacji internetowej. Uwzględnienie zależności od jersey-media-moxy powoduje, że pomost dodaje 48 sekund do czasu rozpoczęcia.

Jak ograniczyć to skanowanie do wtyczki jetty-maven? Znalazłem Jetty startup delay due to scanning, ale zanim zrobię konfigurację zewnętrznego pomostu i uwzględnimy to jest konfiguracja maven, chcę się upewnić, że nie ma bardziej prostej opcji.

wygląda obiecująco, ale nie jestem pewien, jak postępować (jak to nie wspomina o dodatku maven).

mój plik pom.xml znajduje się poniżej:

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

Odpowiedz

15

To właśnie używam dla moich projektów, aby przyspieszyć uruchamianie Jetty tylko z pliku Maven pom.xml (konfiguracja nie jest wymagana zewnętrzna):

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

Użyj dowolnego wyrażeń regularnego wyboru (jeśli używasz inicjalizatorów serwletów). Zauważ, że ^$ wyklucza wszystko.

+0

Mój Boże, ta odpowiedź powinna być bardziej widoczna. Próbowałem dodać 'metadata-complete =" true "' do w web.xml bezskutecznie. – cheeze

+0

Awans, ale to nie jest w porządku. To wyrażenie zrobiło to dla mnie (dla JSF 2.2 i 2.3): '. * Javax [^ /] * \. Jar $ |. * Jsf [^ /] * \. Jar $' – Lars