这听起来很愚蠢,但是我真的很想知道我是否可以做到这一点(通过在pom.xml中添加一些“魔术”配置)。
比方说,我有一个项目,其中包含一堆软件包,其中一个名为“ com.foo.bar”,其中包含许多.java文件,其中包括一个名为“ Dummy.java”的文件。
现在,当生成jar文件时,我想排除com.foo.bar下的所有类,除了'Dummy'。
我尝试在一个部分中使用正则表达式,但是没有运气。
有一个简单的方法吗?非常感谢。
答案 0 :(得分:1)
使用“大铁锤”(假设Dummy.class不是.java):
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<includes>
<include>com/foo/bar/Dummy.class</include>
</includes>
<!-- alternatively(!) excludes/exclude* -->
</configuration>
</plugin>
...或使用“瑞士军刀”:maven-assembly-plugin ... ^^!“%/”))
...
要在Maven中使用Assembly插件,您只需要:
带有程序集descriptor,例如:
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0
http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>dummy-only</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<outputDirectory>/</outputDirectory>
<directory>${project.build.outputDirectory}</directory>
<includes>
<include>com/foo/bar/Dummy.class</exclude>
</includes>
</fileSet>
</fileSets>
</assembly>