2016-04-14 20 views
0

Statik içeriğe işaret etmek için maven kargo eklentisinden çalışan iskeleyi yapılandırmam gerekiyor, iskelet belgelerini inceledim ve yapılandırmayı iskeleye nasıl uygulayacağımı anlayamıyorum kargo parçası olarak çalışıyor. Ben Webapp bölümünü yapılandırmak ve benim açısal Bu yapı bir modül olarak inşa uygulaması olarak kaynak tabanını ayarlamak istiyorum:Statik içerik için maven kargo eklentisi jetty kapsayıcısını yapılandırma

<execution> 
        <id>start jetty - angular webapp</id> 
        <phase>pre-integration-test</phase> 
        <goals> 
        <goal>start</goal> 
        </goals> 
        <configuration>       
         <container> 
          <containerId>jetty7x</containerId> 
          <type>embedded</type> 
         </container> 
         <webApp> 
          <resourceBases> 
           <contextPath>/</contextPath> 
           <resourceBase>../calculator-web/dist</resourceBase> 
          </resourceBases> 
         </webApp> 
         <configuration> 
          <properties>      
           <cargo.servlet.port>11000</cargo.servlet.port>           
          </properties>        
         </configuration> 
        </configuration> 
       </execution> 

İskele başlar ama bu yapılandırmayı görmezden görünüyor ve sadece benim endeksi için 404 olsun. html dosyası.

Birisi bana doğru yönde işaret edebilir mi lütfen? kargo doğrudan İskelesi'nın yeniden veya otomatik sıcak Redeploy özelliğini desteklemek için görünmüyor olsa da

cevap

0

En azından, mesela senin 'bitmemiş' statik içerik sunmak ve değişiklikleri hemen alabilirsiniz gömülü bir kap çalıştırırken geliştirme sırasında.

Benim şu anki çözüm projenin 'canlı' kaynak dizinine resourceBase işaret ederek, Jetty's DefaultServlet yeniden yapılandırmak (örneğin ${basedir}/src/main/webapp) yerine konuşlandırılabilir en default (build) <location/> (örn ${project.build.directory}/${project.build.finalName}) ve (sadece emin olmak için) disabling useFileMappedBuffer yılında kilitleme dosyası önlemek için pencereler:

  1. Kopya İskelesi adlı webdefault.xml örneğin üzere (bağımsız olarak yük konteyneri çalıştırırken ör target/cargo/configurations/jetty.../etc/ itibaren), src/main/jetty/my-webdefault.xml
  2. onunDeğiştirbaşlatma parametreleri:

    <web-app ...> <!-- src/main/jetty/my-webdefault.xml --> 
        : 
        <servlet> 
        <servlet-name>default</servlet-name> 
        <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class> 
        : 
        <init-param> <!-- relative to pom.xml, or wherever cargo runs --> 
         <param-name>resourceBase</param-name> 
         <param-value>./src/main/webapp</param-value> 
        </init-param> 
        <init-param> <!-- to avoid file locking in Windows, use: false --> 
         <param-name>useFileMappedBuffer</param-name> 
         <param-value>false</param-value> 
        </init-param> 
        </servlet> 
    </web-app> 
    
  3. (İskele) kabın etc/ dizine cargo-maven2-plugincopy the new config filemy-webdefault.xml var:

    <project ...> <!-- pom.xml --> 
        : 
        <build> 
        : 
        <plugins> 
         : 
         <plugin> 
         <groupId>org.codehaus.cargo</groupId> 
         <artifactId>cargo-maven2-plugin</artifactId> 
         <version>...</version> 
         <configuration> 
          <container>...</container> 
          <configuration> 
          <configfiles> 
           <configfile> 
           <file>${basedir}/src/main/jetty/my-webdefault.xml</file> 
           <tofile>etc/webdefault.xml</tofile> 
           </configfile> 
          </configfiles> 
          <properties>...</properties> 
          </configuration> 
          <deployables>...</deployables> 
         </configuration> 
         </plugin> 
        </plugins> 
        </build> 
    </project> 
    
  4. Çalıştır PS

mvn clean verify cargo:run ile. Ayrı bir bağlamda (/static) basit bir static content ResourceHandler'u tetiklemek için scratch.xml ile yaptığım girişimler başarılı olmamıştır.