2017-09-20 42 views
0

我是一家软件产品公司的专业服务顾问。我们的产品提供了Java API,因此可以构建字段自定义。这些扩展依赖于多达50个单独的JAR文件 - 一些专有于我们的产品,另一些是开源的。如何在Maven插件中动态构建编译类路径?

我不想硬编码在POM有几个原因的依赖关系 - 主要是因为每个新版本将取决于略低不同版本的开源文物。当新产品发布时,我只想指向新的安装文件夹并重建扩展。

所以,我试图创建一个Maven插件,需要在安装文件夹的引用,通过文件夹递归,并自动将所有的* .jar文件编译时类路径。

我尝试这样做:

Map<?, ?> context = getPluginContext(); 
MavenProject maven = (MavenProject) context.get("project"); 
List<String> classpath = maven.getCompileClasspathElements(); 

// start adding additional elements to the classpath 

期间初始化阶段片断执行,但在类路径的时候恢复开始编制和编译失败。我甚至会以正确的方式去做这件事吗?

回答

0

这听起来不像要走的路。

而是尝试分析安装文件夹是如何组装的。试着用Maven创建这个安装文件夹,并提供一个POM和所有使用的依赖关系(BOM - 物料清单)。

然后用这个BOM-POM如在您的扩展依赖(范围=提供)。

相关问题