Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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/maven/5.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
Java Maven获取依赖关系的相对路径_Java_Maven - Fatal编程技术网

Java Maven获取依赖关系的相对路径

Java Maven获取依赖关系的相对路径,java,maven,Java,Maven,我试图获取pom.xml中Maven依赖项的相对路径。以下是我的项目结构: |-Project |--firstproject |---src |... |pom.xml |--secondproject |---src |... |pom.xml 这里是firstproject的pom.xml,我将secondproject作为依赖项导入其中 。。。 com.foo 第二个项目 1.0.0 ... 我希望Maven依赖的

我试图获取
pom.xml
中Maven依赖项的相对路径。以下是我的项目结构:

|-Project
  |--firstproject
     |---src
     |...
     |pom.xml
  |--secondproject
     |---src
     |...
     |pom.xml

这里是
firstproject
pom.xml
,我将
secondproject
作为依赖项导入其中

。。。
com.foo
第二个项目
1.0.0
...
我希望Maven依赖的系统路径如下:


${maven.dependency.com.foo.secondproject}
可能吗?有没有别的办法


我知道我可以使用
maven-antrun插件
,但我不想要最终的
jar
。我想要依赖项的相对路径,如:
/home/user/projects/Project/secondproject
。有什么办法吗?

这是一个坏主意,对于Maven依赖性来说,这是一个糟糕的做法

首先也是最重要的一点是,您的项目始终需要彼此相对定位,这意味着您的构建环境必须将它们放在一起。这意味着,可能不可重复的构建,因为绝对不能保证第二个项目在第一个项目的构建之间不会发生更改

其次,组合多个相关项目的传统方法是使用子项目。这样,您可以让您的第一个项目依赖于您的第二个项目,而不会有任何麻烦


如果没有做到这一点,那么最好的选择是将第二个项目发布到您当地的m2存储库或存储库中,并在第一个项目中将其下拉。

谢谢您的回答。我知道这是一个坏习惯,但我需要这条路,但对马文来说不是。我只是使用maven将其作为另一个工具的执行参数传递。这就是我需要它的原因。您知道如何在不将其发布到m2 repository的情况下执行此操作吗?@MaxM如果您需要在某个位置运行某些工具的依赖项,最好使用maven依赖项插件,而不是尝试找出路径。如果你问另一个描述完整用例的问题,包括你想将路径发送到的工具,那将是一个理想的选择。@JFabianMeier谢谢你的建议,但你知道如何在pom.xml中获得依赖关系的相对路径吗?@MaxM对不起,我正在努力帮助人们走上正确的道路。除非我确信这是解决问题的正确方法,否则我不会回答上述问题。到目前为止,我认为你只是相信你需要相对路径,因为你走错了方向。看:我只是第三个试图说服你的专家,但我坚持要得到这个问题的答案。我的第一个问题:你为什么需要这个?你想解决什么样的问题?@khmarbaise我需要它将路径作为参数传递给另一个maven执行现在它变得更神奇了?什么样的Maven执行以及为什么?@khmarbaise类似于:
…run--path=${my.lib.path}
您需要它在哪里?执行?为什么?请为你的项目做一个完整的例子。。。什么是
运行…
?为了什么?