Maven 依赖项有一个type
,默认情况下是jar
. jetty 分发包不是 jar,正如您在中央存储库中看到的那样,您可以下载 a.zip
或 a .tar.gz
,因此您必须将依赖项声明为:
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-distribution</artifactId>
<version>${jetty.version}</version>
<type>zip</type>
</dependency>
如果您现在构建,它将下载 zip 并且构建可能会成功。但是,zip 与 jar 不同,因此根据您在该构建中实际执行的操作,您将不得不做更多的事情来实际使用该 zip。
您可能不想使用分发包,除非您还为您的项目构建独立分发 (.zip),在这种情况下,您可能应该使用可以解压缩码头分发的maven-assembly-plugin和重新压缩您的整个项目。
你应该做的是决定你到底需要什么并建造一个定制的码头。这是一个起点,足以部署一个简单的基于 servlet 的应用程序:
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-xml</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-deploy</artifactId>
<version>${jetty.version}</version>
</dependency>
您可能也需要这个,因为这是您可以启动 Jetty 的方式:
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-start</artifactId>
<version>${jetty.version}</version>
</dependency>
查看模块列表以了解您可能还需要什么,例如jetty-ajp
、jetty-websocket
或jetty-jsp
。