我在maven插件中创建了一个定制的打包类型,这样我就可以以这种定制格式部署文件。
e、 我有一个项目,使用这种格式的 Package 。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>
....
我能够成功地部署到存储库。但是现在我想在另一个项目中使用它作为依赖项。
e、 g.添加如下内容:
<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中做到这一点?
1条答案
按热度按时间wyyhbhjk1#
似乎这种事情在maven是做不到的。
我通过将我的自定义包类型的格式调整为jar文件本身来解决我的问题,我希望类路径上的所有类都直接在jar文件中。我在类路径上不需要的其他子资源(至少在默认情况下)捆绑在meta inf目录中。
这并不理想,但目前是一个可以接受的解决方案。