我有一个使用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.jar
,project-1.0-sources.jar
和project-1.0-javadoc.jar
发送给Sonatype。
如何在pom.xml
中声明project-1.0.jar
已经 包含依赖项?
这样做是否可行/合法? 如果没有,其他选项有哪些?
(我希望为Maven用户和非Maven用户保留相同的构建,以简化构建,测试和维护。)
谢谢,
尼科
答案 0 :(得分:0)
请参阅POM Reference, Dependencies:
- 的范围:强>
...
- ...
- 提供 - 这很像编译,但表示您希望JDK或容器在运行时提供它。它仅在编译和测试类路径中可用,并且不可传递。
- ...
答案 1 :(得分:0)
在这个简单的例子中,只需使用define commons-io作为它的依赖。其余的将由maven处理。我可以建议你开始使用Maven,也可以让你的生活更轻松。