我有一项任务是复制文件夹并创建一个jar。使用maven-assembly插件生成jar但问题是它创建了一个带有artificat-id + Version的文件夹我不想创建我需要的东西就像我复制并创建一个jar一样。
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>concordian</id>
<formats>
<format>jar</format>
</formats>
<!-- Adds the dependencies of our application -->
<fileSets>
<!-- Adds deploy scripts to the root directory of zip package. -->
<fileSet>
<directory>${project.build.directory}/concordion</directory>
<outputDirectory></outputDirectory>
<includes>
<include>**/**</include>
</includes>
</fileSet>
</fileSets>
</assembly>
它最终会创建带文件夹+的jar以及我从上面的结构中复制的文件。我需要删除文件夹+
答案 0 :(得分:0)
您可以使用maven-assembly-plugin
或maven-jar-plugin
以不同方式执行此操作:
maven-assembly-plugin
,您必须在pom中声明插件的执行并创建这样的程序集文件,您不需要触摸maven-jar-plugin
的配置(除了<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>jar-plus</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<skipAssembly>false</skipAssembly>
<descriptors>
<descriptor>src/assembly/jar-plus.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
由于其他原因):在 pom.xml :
中src/assembly
我将程序集放在jar-plus.xml
文件夹中,并将其称为<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
<id>jar-plus</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<outputDirectory>/</outputDirectory>
<directory>${project.build.outputDirectory}</directory>
</fileSet>
<fileSet>
<outputDirectory>/</outputDirectory>
<directory>src/additionnal-folder</directory>
</fileSet>
</fileSets>
</assembly>
。
程序集jar-plus.xml:
maven-jar-plugin
我只添加了一个附加文件夹,但您可以根据需要配置多个文件夹,并设置包含和排除。
maven-resources-plugin
,您必须执行两次插件执行:生成jar的第一次执行,该jar将是使用<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>biggest-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>biggest</classifier>
</configuration>
</execution>
<execution>
<id>normal-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>normal</classifier>
<excludes>
<exclude>**/*exclude-file*.*</exclude>
</excludes>
</configuration>
</execution>
</executions>
<configuration>
<includes>
<include>**/*.*</include>
</includes>
</configuration>
</plugin>
定义的所有资源的最大jar。并且为最小的jar执行第二次执行,在其中您将描述所有排除,以避免您不希望在最小的jar中存在的文件(我在示例代码中添加了分类器,以区分两个罐子,但你可以避免为&#34;普通&#34; jar)添加分类器。
在 pom.xml :
中var arr1 = [.84, .01, .95, 1, .22, .453, .194, .43];
var arr2 = [.54, .09, .10, 0, .76, .12, .41, .99];
var arr3 = [1, .26, .90, .65, .88, .33, .854, .414];
var arr4 = [.65, .84, .184, .81, .04, .09, 0, .46];
var output = [1, 0, 0, 1, 1, 1, 0, 1];