运送一个pom.xml,说明jar包含依赖项

时间:2015-10-23 12:01:11

标签: maven ant dependencies pom.xml sonatype

我有一个使用Apache Commons IO依赖项的开源项目。

我不使用Maven进行构建,只使用Ant,最终的jar包含Apache Commons IO依赖项:目的是用户不需要设置CLASSPATH。<登记/> 因此,二进制版本仅包含一个 jar。我们可以说它的名字是project-1.0.jar

现在我想在Maven Central中包含我的项目。

我创建了一个pom.xml,其中包含编译所需的Commons IO依赖项:

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>

我通常会将project-1.0.jarproject-1.0-sources.jarproject-1.0-javadoc.jar发送给Sonatype。

如何在pom.xml中声明project-1.0.jar 已经 包含依赖项?

这样做是否可行/合法? 如果没有,其他选项有哪些?

(我希望为Maven用户和非Maven用户保留相同的构建,以简化构建,测试和维护。)

谢谢,
尼科

2 个答案:

答案 0 :(得分:0)

请参阅POM Reference, Dependencies

  
      
  • 范围:
      ...      
        
    • ...
    •   
    • 提供 - 这很像编译,但表示您希望JDK或容器在运行时提供它。它仅在编译和测试类路径中可用,并且不可传递。
    •   
    • ...
    •   
  •   

答案 1 :(得分:0)

在这个简单的例子中,只需使用define commons-io作为它的依赖。其余的将由maven处理。我可以建议你开始使用Maven,也可以让你的生活更轻松。