pom.xml
注意:如果局部拷贝不要将plugin结点拷贝到pluginManagement结点(描述结点-拷贝错位置不会调用assembly.xml)下
<?xml version="1.0" encoding="UTF-8"?> <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>groupId</groupId> <artifactId>artifactId</artifactId> <version>1.0-SNAPSHOT</version> <name>xxx</name> <url>http://www.example.com</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencies> <!-- ... --> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <!-- 修改成真实类全限定名 --> <mainClass>org.xxx.Main</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution><!-- 配置执行器 --> <id>make-assembly</id> <phase>package</phase><!-- 绑定到package生命周期阶段上 --> <goals> <goal>single</goal><!-- 只运行一次 --> </goals> <configuration> <finalName>${project.name}</finalName> <descriptor>src/assembly/assembly.xml</descriptor><!--配置描述文件路径--> <archive> <manifest> <addClasspath>true</addClasspath> <!-- 修改成真实类全限定名 --> <mainClass>org.xxx.Main</mainClass> </manifest> </archive> <outputDirectory>${project.build.directory}/</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
src/assembly/assembly.xml
<?xml version='1.0' encoding='UTF-8'?> <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 http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 "> <!-- 常用路径: 工程路径-${basedir}; --> <!-- id则是添加到打包文件名的标识符,用来做后缀 --> <id>${project.version}</id> <!--<baseDirectory>${project}</baseDirectory>--> <formats> <format>zip</format><!--打包的文件格式,也可以有:war zip--> </formats> <!--tar.gz压缩包下是否生成和项目名相同的根目录--> <includeBaseDirectory>true</includeBaseDirectory> <dependencySets> <dependencySet> <!--是否把本项目添加到依赖文件夹下--> <useProjectArtifact>true</useProjectArtifact> <outputDirectory>lib</outputDirectory> <!--将scope为runtime的依赖包打包--> <scope>runtime</scope> </dependencySet> </dependencySets> <fileSets> <fileSet> <directory>src/main/bin</directory> <outputDirectory>bin</outputDirectory> <fileMode>0755</fileMode> <includes> <include>*.bat</include> </includes> </fileSet> <fileSet> <directory>src/main/resources</directory> <outputDirectory>config</outputDirectory> <fileMode>0640</fileMode> <includes> <include>*.properties</include> </includes> </fileSet> </fileSets> </assembly>
le.li
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示