Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 发送一个pom.xml,表示jar包含依赖项_Maven_Ant_Dependencies_Pom.xml_Sonatype - Fatal编程技术网

Maven 发送一个pom.xml,表示jar包含依赖项

Maven 发送一个pom.xml,表示jar包含依赖项,maven,ant,dependencies,pom.xml,sonatype,Maven,Ant,Dependencies,Pom.xml,Sonatype,我有一个使用ApacheCommons IO依赖项的开源项目 我不使用Maven构建,只使用Ant,最终的jar包含Apache Commons IO依赖项:目的是用户不需要设置CLASSPATH 因此二进制版本只包含一个jar。假设它的名称是project-1.0.jar 现在我想把我的项目包括在Maven Central中 我创建了一个pom.xml,其中包含编译所需的Commons IO依赖项: <dependency> <groupId>commons-i

我有一个使用ApacheCommons 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>

公地io
公地io
2.4
我像往常一样,向Sonatype发送
project-1.0.jar
project-1.0-sources.jar
project-1.0-javadoc.jar

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

这样做可能/合法吗?
如果没有,其他选项是什么

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

谢谢,
尼科参见:

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

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

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

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

只是不要这样做。jar应该包含类,并且只包含类。一、 作为用户,可能需要在库中使用其他版本的commons io。我甚至不确定你是否可以在Maven Central上自己的库中重新发布commons io。Maven的全部目的是为您设置类路径。因此,对于使用Maven的开发人员来说,设置类路径不是问题。谢谢,这非常有说服力。你能把它作为一个答案发布吗?如果你真的有一个这样的用例,你不知何故与第三方库的特定版本绑定在一起,那么将该库重新打包并内部化到你自己的源代码中可能是有意义的。在他们所有的包前面加上你自己的,并将源代码放到你项目的源代码树中。@David,谢谢,但这不是我的问题。只是不要这样做。jar应该包含类,并且只包含类。一、 作为用户,可能需要在库中使用其他版本的commons io。我甚至不确定你是否可以在Maven Central上自己的库中重新发布commons io。Maven的全部目的是为您设置类路径。因此,对于使用Maven的开发人员来说,设置类路径不是问题。谢谢,这非常有说服力。你能把它作为一个答案发布吗?如果你真的有一个这样的用例,你不知何故与第三方库的特定版本绑定在一起,那么将该库重新打包并内部化到你自己的源代码中可能是有意义的。在他们的所有包前面加上你自己的,并将源代码放到项目的源代码树中。@David,谢谢,但这不是我的问题。