java打包jar包和lib分开的包
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>lib</extdirs><!--指定外部lib-->
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<archive>
<manifest>
<!--指定main入口 -->
<mainClass>com.example.cadretraining.CadretrainingApplication</mainClass>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
<manifestEntries>
<Class-Path>conf/</Class-Path>
</manifestEntries>
</archive>
<includes>
<!-- 打jar包时,只打包class文件 -->
<include>**/*.class</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<!-- 使用默认的变量标记方法即${*} -->
<useDefaultDelimiters>true</useDefaultDelimiters>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>src/assembly/assembly.xml</descriptor>
</descriptors>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<finalName>user-cadreTraining-${environment}</finalName>
<resources>
<resource>
<!--<directory>${basedir}/src/main/resources</directory>-->
<directory>${basedir}/src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>application.yml</include>
<include>application-${environment}.yml</include>
<include>ehcache/**</include>
<include>static/**</include>
<include>mybatis/**</include>
<include>templates/**</include>
<include>banner.*</include>
<include>META-INF/**</include>
<include>i18n/**</include>
<include>mapper/**</include>
</includes>
<excludes>
<exclude>assembly.xml</exclude>
</excludes>
</resource>
</resources>
</build>
assembly.xml文件
<!--
- Copyright 1999-2011 Alibaba Group.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-->
<assembly>
<id>assembly</id>
<formats>
<format>tar.gz</format>
</formats>
<!--tar.gz压缩包下是否生成和项目名相同的根目录-->
<includeBaseDirectory>true</includeBaseDirectory>
<fileSets>
<!--<fileSet>-->
<!--<directory>../src/assembly/bin</directory>-->
<!--<outputDirectory>bin</outputDirectory>-->
<!--<fileMode>0755</fileMode>-->
<!--</fileSet>-->
<!--<fileSet>-->
<!--<directory>${basedir}/src/assembly/bin</directory>-->
<!--<outputDirectory>.</outputDirectory>-->
<!--<fileMode>0777</fileMode>-->
<!--</fileSet>-->
<!--<fileSet>-->
<!--<directory>src/main/resources</directory>-->
<!--<outputDirectory>conf</outputDirectory>-->
<!--<fileMode>0644</fileMode>-->
<!--</fileSet>-->
<fileSet>
<directory>${parent.basedir}/src/assembly/bin</directory>
<outputDirectory>.</outputDirectory>
<fileMode>0777</fileMode>
</fileSet>
<fileSet>
<directory>${basedir}/conf</directory>
<outputDirectory>.</outputDirectory>
<fileMode>0755</fileMode>
</fileSet>
<!--<fileSet>-->
<!--<directory>../webCode</directory>-->
<!--<outputDirectory>conf/static</outputDirectory>-->
<!--<fileMode>0755</fileMode>-->
<!--</fileSet>-->
<fileSet>
<directory>${project.build.directory}/classes</directory>
<outputDirectory>conf</outputDirectory>
<fileMode>0755</fileMode>
<includes>
<include>*.properties</include>
<include>*.yml</include>
<include>*.xml</include>
<include>static/**</include>
<include>i18n/**</include>
<include>META-INF/**</include>
<include>mybatis-INF/**</include>
<include>logback.xml</include>
<include>mybatis/**</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.build.directory}/classes/lib</directory>
<outputDirectory>lib</outputDirectory>
<fileMode>0755</fileMode>
<includes>
<include>**/*.jar</include>
</includes>
</fileSet>
<!--<fileSet>-->
<!--<directory>src/main/resources/lib</directory>-->
<!--<outputDirectory>lib/</outputDirectory>-->
<!--<includes>-->
<!--<include>**/*.*</include>-->
<!--</includes>-->
<!--</fileSet>-->
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
<scope>runtime</scope>
<excludes>
<exclude>${groupId}:${artifactId}</exclude>
</excludes>
</dependencySet>
<!--<dependencySet>-->
<!--<!–是否把本项目添加到依赖文件夹下–>-->
<!--<!–<useProjectArtifact>true</useProjectArtifact>–>-->
<!--<outputDirectory>lib</outputDirectory>-->
<!--<!–<unpack>true</unpack>–>-->
<!--<!–将scope为system的依赖包打包–>-->
<!--<scope>system</scope>-->
<!--</dependencySet>-->
</dependencySets>
</assembly>
- Copyright 1999-2011 Alibaba Group.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-->
<assembly>
<id>assembly</id>
<formats>
<format>tar.gz</format>
</formats>
<!--tar.gz压缩包下是否生成和项目名相同的根目录-->
<includeBaseDirectory>true</includeBaseDirectory>
<fileSets>
<!--<fileSet>-->
<!--<directory>../src/assembly/bin</directory>-->
<!--<outputDirectory>bin</outputDirectory>-->
<!--<fileMode>0755</fileMode>-->
<!--</fileSet>-->
<!--<fileSet>-->
<!--<directory>${basedir}/src/assembly/bin</directory>-->
<!--<outputDirectory>.</outputDirectory>-->
<!--<fileMode>0777</fileMode>-->
<!--</fileSet>-->
<!--<fileSet>-->
<!--<directory>src/main/resources</directory>-->
<!--<outputDirectory>conf</outputDirectory>-->
<!--<fileMode>0644</fileMode>-->
<!--</fileSet>-->
<fileSet>
<directory>${parent.basedir}/src/assembly/bin</directory>
<outputDirectory>.</outputDirectory>
<fileMode>0777</fileMode>
</fileSet>
<fileSet>
<directory>${basedir}/conf</directory>
<outputDirectory>.</outputDirectory>
<fileMode>0755</fileMode>
</fileSet>
<!--<fileSet>-->
<!--<directory>../webCode</directory>-->
<!--<outputDirectory>conf/static</outputDirectory>-->
<!--<fileMode>0755</fileMode>-->
<!--</fileSet>-->
<fileSet>
<directory>${project.build.directory}/classes</directory>
<outputDirectory>conf</outputDirectory>
<fileMode>0755</fileMode>
<includes>
<include>*.properties</include>
<include>*.yml</include>
<include>*.xml</include>
<include>static/**</include>
<include>i18n/**</include>
<include>META-INF/**</include>
<include>mybatis-INF/**</include>
<include>logback.xml</include>
<include>mybatis/**</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.build.directory}/classes/lib</directory>
<outputDirectory>lib</outputDirectory>
<fileMode>0755</fileMode>
<includes>
<include>**/*.jar</include>
</includes>
</fileSet>
<!--<fileSet>-->
<!--<directory>src/main/resources/lib</directory>-->
<!--<outputDirectory>lib/</outputDirectory>-->
<!--<includes>-->
<!--<include>**/*.*</include>-->
<!--</includes>-->
<!--</fileSet>-->
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
<scope>runtime</scope>
<excludes>
<exclude>${groupId}:${artifactId}</exclude>
</excludes>
</dependencySet>
<!--<dependencySet>-->
<!--<!–是否把本项目添加到依赖文件夹下–>-->
<!--<!–<useProjectArtifact>true</useProjectArtifact>–>-->
<!--<outputDirectory>lib</outputDirectory>-->
<!--<!–<unpack>true</unpack>–>-->
<!--<!–将scope为system的依赖包打包–>-->
<!--<scope>system</scope>-->
<!--</dependencySet>-->
</dependencySets>
</assembly>
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!