2

我在 Jersey 中实现了一个 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而不是另一个 ( localhost:9090/XXX/path/to/service)。

我不知道是什么导致了这个设置,但至少我可以让它工作。

于 2012-11-29T00:12:54.860 回答