<version> $ {jersey-version} </version>在pom.xml中的含义是什么

时间:2012-12-21 17:37:18

标签: java-ee maven jax-rs pom.xml

我在这里下载了示例氛围jax-rs源代码 - http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.atmosphere.samples%22%20AND%20a%3A%22atmosphere-jaxrs2-chat%22

我下载了战争和sources.jar。并且可以在浏览器中查看pom.xml - http://search.maven.org/remotecontent?filepath=org/atmosphere/samples/atmosphere-jaxrs2-chat/1.0.7/atmosphere-jaxrs2-chat-1.0.7.pom

我想将这个pom.xml中的一些依赖项复制到我自己的pom.xml中,但我看到了类似的内容 -

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>${logback-version}</version>
</dependency>
<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-json</artifactId>
    <version>${jersey-version}</version>
</dependency>

我认为${logback-version}${jersey-version}是占位符,但实际设置在哪里?

1 个答案:

答案 0 :(得分:3)

在父母pom。在pom的顶部,有一个父pom的引用,它保存了值。

this thread中的更多理由 - 基本上,它使版本在多模块项目中保持同步。

父定义如下所示:

<parent>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>my-parent</artifactId>
  <version>2.0</version>
  <relativePath>../my-parent</relativePath>
</parent>

就像在pom doc页面的inheritance section中所解释的那样。