2

ジャージーに単一のWebサービスを実装しています(コンテナーなどはありません)。実行するとmaven jetty:run正常に動作しますが、使用するとHTTP ERROR 404が表示されます。ここjava -jar target/dependency/jetty-runner.jar --port 9090 target/*.war で同様の投稿を確認しましたが、解決策が機能しません。私のpom.xmlは次のようになります。

<plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId>
    <version>6.1.22</version>
    <configuration>
        <connectors>
        <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
            <port>9090</port>
            <maxIdleTime>60000</maxIdleTime>
        </connector>
        </connectors>
        <jetty-config>jetty.xml</jetty-config>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.3</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals><goal>copy</goal></goals>
            <configuration>
                <artifactItems>
                    <artifactItem>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>jetty-runner</artifactId>
                        <version>8.1.6.v20120903</version>
                        <destFileName>jetty-runner.jar</destFileName
                    </artifactItem>
                </artifactItems>
            </configuration>
        </execution>
    </executions>
</plugin>

私の問題を解決するためのヒントをいただければ幸いです。

4

1 に答える 1

0

問題は、私のプロジェクトのartifactIdがXXXであったことでした。mvn jetty:runを使用したとき、URLは次のようになりましたlocalhost:9090/XXX/path/to/service。次のように呼び出しても何も返されませんでしたlocalhost:9090/path/to/service。ただし、これをに変更するとjava -jar target/dependency/jetty-runner.jar --port 9090 target/*.war、URLはlocalhost:9090/path/to/service他のURLではなく(localhost:9090/XXX/path/to/service)になります。

この設定の原因はわかりませんが、少なくとも機能させることはできます。

于 2012-11-29T00:12:54.860 に答える