2016-03-01 166 views
0

这里是我的项目的关系:
春季启动项目A - >项目B - >项目C
当我运行一个Maven:install我想都从项目B和项目C依赖在我的lib文件夹中。
的问题是,现在我只是从项目A的依赖...

我只是有spring-boot-maven-plugin为不带任何参数构建配置...春季启动包括传递依赖

+0

当您在项目B和C上运行maven install时,构建的结果将存储在本地maven仓库中,因此您可以在项目A的POM中将其用作普通依赖项。那是你要的吗? –

+0

是的,这是我正在做的。我首先在项目C上运行maven install,然后在项目B上运行,最后在项目A上运行。但是当我查看Project A(一场战争)的lib文件夹时,我没有发现项目C的依赖关系。不是它的依赖关系... – bryce

+0

你可以添加你的POM配置吗?我认为我们需要看到它真的帮助你。你是否在“提供”范围内做任何事情,这意味着期望容器在运行时提供文件? –

回答

0

我终于找到了我的错误...... 在项目C的POM,我有范围system和系统路径的依赖关系类似于${basedir}/my/path/librairy.jar。问题是,当我打包项目B时,Maven想要这个库的绝对路径。我在maven的日志中看到了一条警告。

解决方案很简单,我改变了绝对路径的路径,一切都很顺利!除了未包装的系统库。我会把它放在我们的Nexus上,它会很好。

0

你应该使用Maven的2.0或更高版本有您的传递依赖项已导入。 在“规定” B和C不应该有范围的依赖,否则Maven将不导入他们思考的是,服务器将提供他们

+0

我使用maven 3.2.5,我没有任何依赖范围提供... – bryce