2011-01-17 8 views
4

私は、依存プロジェクトからwar-Fileを含むJettyを起動するための新しいMavenプロジェクトを開始しました。カーゴプラグインはこのための正しいツールでなければなりません。MavenとCargo:war-Fileを持つJetty-Containerを開始

残念ながら、それは私のためには機能しません。 Jettyは正常に起動しますが、予想されるものではなくdefault-cargo-war-fileしか含まれていません。

これは私の戦争 - ファイルの関連部分である:

<dependencies> 
    <dependency> 
     <groupId>com.group</groupId> 
     <artifactId>my-webapp</artifactId> 
     <version>0.1.0-SNAPSHOT</version> 
     <type>war</type> 
    </dependency>  
</dependencies> 

<build>  
    <plugins>      
     <plugin> 
      <groupId>org.codehaus.cargo</groupId> 
      <artifactId>cargo-maven2-plugin</artifactId> 
      <version>1.0.5</version> 
      <configuration> 
       <container> 
        <containerId>jetty7x</containerId> 
        <type>embedded</type>      
       </container> 
       <configuration> 
        <properties> 
         <cargo.servlet.port>7070</cargo.servlet.port> 
         <cargo.logging>high</cargo.logging> 
        </properties> 
       </configuration>    
       <deployer> 
        <type>embedded</type> 
        <deployables> 
         <deployable> 
          <groupId>com.group</groupId> 
          <type>war</type> 
          <artifactId>my-webapp</artifactId> 
          <properties> 
           <context>/path</context> 
          </properties> 
         </deployable>       
        </deployables> 
       </deployer>     
      </configuration>     
     </plugin> 
    </plugins> 
</build> 

私はMVN貨物を開始することにより、プラグインを使用:開始します。

エラーログ出力はありません。

[INFO] [cargo:start] 
[INFO] [beddedLocalContainer] Jetty 7.x Embedded starting... 
2011-01-17 18:57:44.586:INFO::jetty-7.2.0.v20101020 
2011-01-17 18:57:44.663:INFO::Extract jar:file:/tmp/cargo/conf/cargocpc.war!/ to /tmp/jetty-0.0.0.0-7070-cargocpc.war-_cargocpc-any-/webapp 
2011-01-17 18:57:45.082:INFO::Started [email protected]:7070 
[INFO] [beddedLocalContainer] Jetty 7.x Embedded started on port [7070] 

どのように指定されたwarファイルを読み込むようにCargoに指示できますか?

答えて

1

これを試してください。 の設定タイプをスタンドアロンに設定し、デプロイメントを設定してください。戦争を解決するためには、プロジェクトの依存性が正しいことを確認してください。

  <configuration> 
       <type>standalone</type> 
       <properties> 
        <cargo.servlet.port>7070</cargo.servlet.port> 
        <cargo.logging>high</cargo.logging> 
       </properties> 
       <deployables> 
        <deployable> 
         <groupId>com.group</groupId> 
         <type>war</type> 
         <artifactId>my-webapp</artifactId> 
         <properties> 
          <context>/path</context> 
         </properties> 
        </deployable>       
       </deployables>     
      </configuration>   
+0

ありがとうございます。私は以前これを試していましたが、うまくいかなかったので、deployer-Elementを使用しようとしました。実際の問題は、貨物がスナップショットの依存関係を無視しているようだということでした。 – tautologe

0

埋め込みJettyにデプロイしたい場合は、Cargoが必要ない場合があります。ちょうどあなたのウェブアプリののpom.xmlで、これを使用する:

<build> 
    ... 
    ... 
    <plugins> 
     <plugin> 
      <groupId>org.mortbay.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
      <version>7.2.2.v20101205</version> 
      <configuration> 
       <scanIntervalSeconds>10</scanIntervalSeconds> 
       <webAppConfig> 
       <contextPath>/path</contextPath> 
       </webAppConfig> 
       <connectors> 
       <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> 
        <port>7070</port> 
        <maxIdleTime>60000</maxIdleTime> 
       </connector> 
      </connectors> 
      </configuration> 
     </plugin> 
     ... 
     ... 
    </plugins> 
    ... 
    ... 
    </build> 

桟橋のユーザーを作成し、起動する
mvn clean install jetty:run 
+1

これは彼が最初に別のプロジェクトの別のポームに対してmvnを実行する必要があります。彼はプロジェクトから従属戦争を展開したいと考えており、桟橋はこれをうまくやっていません。私はいくつかのタイプの統合テストを想定しています。 – Robin

+1

これは、コードを作成してすぐに展開する開発環境に最適です。このXML部分をweb-appのpom.xmlに入れ、 'run config'メニューに' mvn clean install jetty:run'を追加するだけです。今すぐテストする必要があるときは、このメニュー項目をクリックするだけでビルドが完了し、アプリケーションが無効になり、サーバーが起動して実行されます。クリーン。 – Nishant

+0

Nishant、それは彼がやりたいことではありません。彼はjava -jar myproject.warをやりたがっています –

1

[OK]を、私はそれが今で動作するようになりました。

このように、cargoはすべてのスナップショットの依存関係を暗黙に無視します。したがって、プロジェクトを貨物プロジェクトで使用する前にリリースする必要があります。

おそらくこれはバグです。私はこの行動のための賢明な理由を想像することはできません。

(また、私は上記の投稿ポンポン、ファイルが正しくありませんでした、あなたはロビンは彼の答えで提案した変更を適応する必要があり)

+0

"貨物はすべてのスナップショットの依存関係を黙って無視する" "?/?/?知っておいてよかった。私はちょうど噛んだと思う... –

+0

非常にそうではありません。スナップショットで貨物を運んでいますが、問題はありません。 – Genry

0

そのあなたが最初の展開は、コマンドを実行すると言うならば、それはより良い仕事ができるようです"mvn cargo:deploy"を実行し、 "mvn cargo:start"を実行してください

関連する問題