我已经在我的maven插件中创建了一个自定义打包类型,以便可以以该自定义格式部署文件。
例如,我有一个使用此格式进行打包的项目。pom.xml具有:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>mylib</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>mybin</packaging>
....
我能够成功部署到存储库。但是现在我想将其用作另一个项目中的依赖项。
例如,通过添加如下内容:
<dependency>
<groupId>com.example</groupId>
<artifactId>mylib</artifactId>
<version>1.0-SNAPSHOT</version>
<type>mybin</type>
</dependency>
这很好用,除了mybin
格式包括一些我想包括在类路径中的嵌套资源(如jar文件)。
到目前为止,我已经尝试从mojo内以编程方式提取jar,然后使用来以编程方式将其添加到项目中project.getModel().addDependency(systemJarDep)
,但是编译器似乎没有意识到这一点。
如何在Maven中完成?
看来这种事情无法在Maven中完成。
我通过将自定义包类型的格式调整为jar文件本身来解决我的问题,所有想要的类都直接放在类路径中。我在类路径上不需要的其他子资源(至少默认情况下)捆绑在META-INF目录中。
这不是理想的,但目前是可以接受的解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句