从Maven Central Repository中检索Jetty作为IntelliJ IDEA项目中的项目依赖项

时间:2013-06-08 14:08:01

标签: java maven intellij-idea jetty

我想在我正在IntelliJ IDEA中工作的Java项目中使用Jetty作为嵌入式库。但是,Maven Central Repository提供了许多不同的Jetty包。可从here直接下载的JAR名为jetty-distribution-9.0.3.v20130506.tar.gz,因此我认为Maven Central Repo提供的最佳完整软件包为org.eclipse.jetty:jetty-distribution:9.0.3.v20130506。但是当试图使用该坐标来检索库时,IntelliJ会返回此错误:

  

没有为org.eclipse.jetty下载文件:jetty-distribution:9.0.3.v20130506

为什么找不到那个包裹?如果它不可用,我应该下载哪些软件包?

编辑: 我现在意识到我应该使用的坐标是org.eclipse.jetty.aggregate:jetty-all:9.0.3.v20130506。我可以在search.maven.org找到它,但IntelliJ找不到比版本7更新的东西。任何人都可以复制或解释这个问题吗?移到新问题。

2 个答案:

答案 0 :(得分:2)

检查依赖关系类型。

有所谓的 pom 类型的依赖项,它们充当其他依赖项的列表。为了能够获取它们,您必须在pom.xml中将它们标记为pom依赖项

如果您只需要服务器组件,请尝试搜索此字符串

'org.eclipse.jetty:jetty-server:9.0.3.v20130506'

答案 1 :(得分:0)

Maven依赖项具有type,默认情况下为jar。 jetty分发包不是jar,而you can see in the central repository,您可以下载.zip.tar.gz,因此您必须将依赖声明为:

<dependency>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-distribution</artifactId>
  <version>${jetty.version}</version>
  <type>zip</type>
</dependency>

如果您现在构建,它将下载zip并且构建可能会成功。但是,拉链与jar不同,所以根据你在该版本中实际做的事情,你将不得不做更多的事情来实际使用该拉链。

您可能不想使用分发包,除非您还为项目构建独立分发(.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>

查看the list of modules,了解您可能需要的其他内容,例如jetty-ajpjetty-websocketjetty-jsp