1

この Jetty Maven Plugin に少し不満を感じています..

jetty.xml ファイルで jetty-maven-plugin を構成しようとしています。( 下記参照 )。

Jetty はポート 8081 で起動するはずです。

ただし、実行するとコンソールに8080が表示され続けます

mvn jetty:run

また、ログの印刷が見られることを期待しています

Configuring Jetty from xml configuration file

jetty-maven-plugin ソースで見つけたもの。しかし、私はそれをどこにも見ません。

すべてのファイルが正しい場所にあることを確認し、これまでにさまざまな構成のバリエーションを試しました。

私のMaven構成は次のとおりです。

...
<plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId>
    <version>${jettyVersion}</version>
    <configuration>                       
           <jettyConfig>${project.basedir}/src/main/resources/jetty.xml</jettyConfig>
    </configuration>
</plugin>
.....
<properties>
    <jettyVersion>7.2.0.v20101020</jettyVersion>
</properties>

私のjetty.xmlファイルは次のとおりです。

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<Configure id="Server" class="org.eclipse.jetty.server.Server">
        <Call name="addConnector">
  <Arg>
      <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
        <Set name="host"><SystemProperty name="jetty.host" /></Set>
        <Set name="port"><SystemProperty name="jetty.port" default="8081"/></Set>
        <Set name="maxIdleTime">300000</Set>
        <Set name="Acceptors">4</Set>
        <Set name="statsOn">false</Set>
        <Set name="confidentialPort">8443</Set>
    <Set name="lowResourcesConnections">20000</Set>
    <Set name="lowResourcesMaxIdleTime">5000</Set>
      </New>
  </Arg>
</Call>
</Configure>

stackoverflow のすべての Q&A を含め、可能な限りほぼすべてのリソースを読みました。私は何かが欠けているに違いない。

EclipseはPOMのjetty.xmlの構成パラメータを「jettyXml」として文書化していますが、ソースをダウンロードしました。それは間違いなく「jettyConfig」です。

彼らのコードを見ると、次のことがわかります

public void applyJettyXml() throws Exception
    {
        if (getJettyXmlFile() == null)
            return;

        getLog().info( "Configuring Jetty from xml configuration file = " + getJettyXmlFile() );        
        XmlConfiguration xmlConfiguration = new XmlConfiguration(getJettyXmlFile().toURL());
        xmlConfiguration.configure(this.server);   
    }

そして、ゲッターの実装を追加しています

public File getJettyXmlFile ()
{
    return this.jettyConfig;
}

したがって、少なくとも印刷Configuring Jetty from xml...が表示されることを期待していますが、同様に表示されません..

コマンドラインからポートをオーバーライドすることはできましたが、XML 構成に興味があります。

4

3 に答える 3

1

に名前を変更jettyConfigwebAppXmlます。

于 2016-03-14T21:45:36.660 に答える
0

アーティファクト ID を次から変更してみてください。

<artifactId>maven-jetty-plugin</artifactId>

<artifactId>jetty-maven-plugin</artifactId>

jetty.xml で使用するクラスには、jetty 7 で導入された org.eclipse.jetty というプレフィックスが付いているためです。

于 2014-01-02T18:22:34.357 に答える
0

これをまだ追求している場合は、http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin から 2 つのことを試してみてください

1) 「jetty-servlets への依存関係を追加して、Jetty 拡張機能を明示的に有効にする必要があります」

<plugin>
...
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-server</artifactId>
        <version>7.2.0.v20101020</version>
    </dependency>
</plugin>

2) ステップ 1 を実行する場合は、適切な groupId (org.eclipse.jetty ではなく org.mortbay.jetty) を settings.xml に入れることで、Maven に適切な groupId を指示します。

<profile>
      ...
    <pluginGroups>
        <pluginGroup>org.mortbay.jetty</pluginGroup>
    </pluginGroups>
</profile>
于 2013-03-17T19:41:45.210 に答える