Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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 项目对生成路径的访问依赖关系_Java_Eclipse_Maven_Jar_Dependencies - Fatal编程技术网

Java 项目对生成路径的访问依赖关系

Java 项目对生成路径的访问依赖关系,java,eclipse,maven,jar,dependencies,Java,Eclipse,Maven,Jar,Dependencies,所以我有一个大型Java项目,我称之为ProjectA。我还有另一个项目ProjectB,它是一个Maven项目,通过将ProjectA编译成jar文件将ProjectA作为依赖项包含在内。我还有许多其他的Maven项目:ProjectC1、ProjectC2等。每一个项目都包括ProjectB作为Maven依赖项 ProjectB包含所有ProjectC项目通用/可访问的代码,并充当从ProjectA访问某些功能的接口。问题是:为了做到这一点,我必须在ProjectB中编写一个方法/类,显式调

所以我有一个大型Java项目,我称之为ProjectA。我还有另一个项目ProjectB,它是一个Maven项目,通过将ProjectA编译成jar文件将ProjectA作为依赖项包含在内。我还有许多其他的Maven项目:ProjectC1、ProjectC2等。每一个项目都包括ProjectB作为Maven依赖项

ProjectB包含所有ProjectC项目通用/可访问的代码,并充当从ProjectA访问某些功能的接口。问题是:为了做到这一点,我必须在ProjectB中编写一个方法/类,显式调用/扩展我要调用的ProjectA中的方法/类,或者我必须显式地将ProjectA本身作为依赖项包含在ProjectCx项目中,这是由于ProjectA的大小而不需要的


是否有办法通过ProjectB从ProjectC间接访问ProjectA的成员

如果您在项目C的pom.xml中将B定义为依赖项。 A是B中的依赖项。 在C中,你可以访问A。 在maven中,这就是所谓的可传递依赖项。 这意味着,即使不在C pom.xml中编写项目A,您也会在类路径中得到项目A。
这就是maven默认的工作方式。

好的,我在这里找到了答案:


我将项目A jar作为系统依赖项添加到项目B中,它在项目C中获取了可传递依赖项。

它们都是maven项目吗?您了解可传递依赖项和依赖范围吗?仍然认为它们不适合你的需要吗?B和C是专业项目,但A不是。