4

依存プロジェクトから war-File を含む Jetty を開始することを目的とした新しい Maven プロジェクトを開始しました。cargo-plugin はこれに適したツールです。

残念ながら、私にはうまくいきません。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 cargo:start を起動してプラグインを使用します。

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

[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 SelectChannelConnector@0.0.0.0:7070
[INFO] [beddedLocalContainer] Jetty 7.x Embedded started on port [7070]

指定した war-File をロードするよう Cargo に指示するにはどうすればよいですか?

4

4 に答える 4

3

わかりました、私は今それを働かせました。

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

おそらくこれはバグです。この行動の合理的な理由は想像できません。

(また、私が上に投稿したpom-Fileは正しくありませんでした.Robinが彼の答えで提案した変更を適応させる必要があります)

于 2011-01-18T10:46:34.007 に答える
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>           
于 2011-01-17T18:23:54.800 に答える
1

最初にコマンド「mvn cargo:deploy」を実行してから「mvn cargo:start」を実行するなどの展開を行うと、よりうまく機能するようです

于 2013-06-06T14:23:16.943 に答える
0

組み込みの Jetty にデプロイするだけであれば、Cargo は必要ないかもしれません。Web アプリの 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>

Jetty ユーザーをビルドして起動する

 mvn clean install jetty:run
于 2011-01-17T19:06:27.700 に答える