Java Maven程序集插件添加依赖项
我有一个java应用程序,使用maven assembly插件,我想将依赖项添加到发行版中的a/lib文件夹中Java Maven程序集插件添加依赖项,java,maven,maven-assembly-plugin,Java,Maven,Maven Assembly Plugin,我有一个java应用程序,使用maven assembly插件,我想将依赖项添加到发行版中的a/lib文件夹中 在web项目中,这很简单,因为JAR已经在war文件中。我无法在standart java应用程序中执行此操作,因为所有外部JAR都在我的本地.m2存储库中。我经常使用此程序集配置 <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="ht
在web项目中,这很简单,因为JAR已经在war文件中。我无法在standart java应用程序中执行此操作,因为所有外部JAR都在我的本地.m2存储库中。我经常使用此程序集配置
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>assembly</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
<outputFileNameMapping>${artifact.groupId}.${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
<useProjectArtifact>false</useProjectArtifact>
<!-- you may place excludes here -->
</dependencySet>
</dependencySets>
<files>
<file>
<outputDirectory>/</outputDirectory>
<source>${project.build.directory}/${project.artifactId}-${project.version}.jar</source>
<destName>${project.artifactId}.jar</destName>
</file>
</files>
<fileSets>
<fileSet>
<outputDirectory>config</outputDirectory>
<directory>config</directory>
</fileSet>
<fileSet>
<outputDirectory>/</outputDirectory>
<directory>src/main/bin</directory>
</fileSet>
</fileSets>
</assembly>
装配
拉链
假的
解放党
${artifact.groupId}.${artifact.artifactId}.${artifact.extension}
假的
/
${project.build.directory}/${project.artifactId}-${project.version}.jar
${project.artifactId}.jar
配置
配置
/
src/main/bin
然后我在我的POM中用
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>create-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
org.apache.maven.plugins
maven汇编插件
2.4
创建程序集
包裹
单一的
assembly/assembly.xml
如果您还需要一个可运行的JAR:
org.apache.maven.plugins
maven jar插件
2.4
假的
配置/
真的
解放党/
习俗
$${artifact.groupId}.$${artifact.artifactId}.$${artifact.extension}
我经常使用此程序集配置
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>assembly</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
<outputFileNameMapping>${artifact.groupId}.${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
<useProjectArtifact>false</useProjectArtifact>
<!-- you may place excludes here -->
</dependencySet>
</dependencySets>
<files>
<file>
<outputDirectory>/</outputDirectory>
<source>${project.build.directory}/${project.artifactId}-${project.version}.jar</source>
<destName>${project.artifactId}.jar</destName>
</file>
</files>
<fileSets>
<fileSet>
<outputDirectory>config</outputDirectory>
<directory>config</directory>
</fileSet>
<fileSet>
<outputDirectory>/</outputDirectory>
<directory>src/main/bin</directory>
</fileSet>
</fileSets>
</assembly>
装配
拉链
假的
解放党
${artifact.groupId}.${artifact.artifactId}.${artifact.extension}
假的
/
${project.build.directory}/${project.artifactId}-${project.version}.jar
${project.artifactId}.jar
配置
配置
/
src/main/bin
然后我在我的POM中用
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>create-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
org.apache.maven.plugins
maven汇编插件
2.4
创建程序集
包裹
单一的
assembly/assembly.xml
如果您还需要一个可运行的JAR:
org.apache.maven.plugins
maven jar插件
2.4
假的
配置/
真的
解放党/
习俗
$${artifact.groupId}.$${artifact.artifactId}.$${artifact.extension}
tnx useProjectArtifact=false的任何原因?您将项目jar复制到哪里?是的,我们已经决定将主jar放在根目录中。这将反映在部件的“文件”部分中。我们通常在src/main/bin中还有几个二进制文件(例如Windows批处理文件等),这些文件也会复制到根目录。tnx useProjectArtifact=false的原因是什么?您将项目jar复制到哪里?是的,我们已经决定将主jar放在根目录中。这将反映在部件的“文件”部分中。我们通常在src/main/bin中还有几个二进制文件(例如Windows批处理文件等),它们也会复制到根目录。