Java中Maven项目导出jar包配置的示例代码

  

具体代码如下所示,
  

        & lt; !——第一种打包方式(maven-jar-plugin),将依赖包和配置文件放到jar包外——比;   & lt; build>   & lt; sourceDirectory> src/main/java   & lt; resources>   & lt; resource>   & lt; directory> src/main/resources   & lt; !——将& lt; directory>目录下的文件打包到& lt; targetPath>下——比;   & lt; targetPath> $ {project.build.directory} & lt;/targetPath>   & lt; excludes>   & lt; exclude> * */* .java   & lt;/excludes>   & lt;/resource>   & lt;/resources>   & lt; testSourceDirectory> src/测试/java   & lt; testResources>   & lt; testResource>   & lt; directory> src/测试/resources   & lt; filtering> true   & lt; excludes>   & lt; exclude> * */* .java   & lt;/excludes>   & lt;/testResource>   & lt;/testResources>   & lt; plugins>   & lt; plugin>   & lt; groupId> org.apache.maven.plugins   & lt; artifactId> maven-compiler-plugin   & lt; version> 2.3.2   & lt; configuration>   & lt; source> 1.8 & lt;/source>   & lt; target> 1.8 & lt;/target>   & lt; encoding> UTF-8   & lt;/configuration>   & lt;/plugin>   & lt; !——将项目依赖包复制到& lt; outputDirectory>指定的目录下——比;   & lt; plugin>   & lt; groupId> org.apache.maven.plugins   & lt; artifactId> maven-dependency-plugin   & lt; executions>   & lt; execution>   & lt; id> copy-dependencies   & lt; phase> package   & lt; goals>   & lt; goal> copy-dependencies   & lt;/goals>   & lt; configuration>   & lt; outputDirectory>   $ {project.build.directory}/lib   & lt;/outputDirectory>   & lt;/configuration>   & lt;/execution>   & lt;/executions>   & lt;/plugin>   & lt; !——将项目依赖包的路径(与上一项中的& lt; outputDirectory>对应)添加到类路径中,在   & lt; plugin>   & lt; groupId> org.apache.maven.plugins   & lt; artifactId> maven-jar-plugin   & lt; configuration>   & lt; archive>   & lt; manifest>   & lt; addClasspath> true   & lt; classpathPrefix> lib/& lt;/classpathPrefix>   & lt; mainClass> com.ctbri.echoRisk.ApplicationStart   & lt;/manifest>   & lt; manifestEntries>   & lt; Class-Path>。/& lt;/Class-Path>   & lt;/manifestEntries>   & lt;/archive>   & lt;/configuration>   & lt;/plugin>   & lt;/plugins>   & lt;/build>            & lt; !——第二种打包方式(maven-shade-plugin),将依赖包和配置文件放到jar包内——比;   & lt; build>   & lt; directory> $ {project.basedir}/target   & lt; finalName> $ {project.artifactId} - {project.version} & lt;美元/finalName>   & lt; plugins>   & lt; plugin>   & lt; groupId> org.apache.maven.plugins   & lt; artifactId> maven-surefire-plugin   & lt; version> 2.21.0   & lt; configuration>   & lt; skipTests> true   & lt;/configuration>   & lt;/plugin>   & lt; plugin>   & lt; groupId> org.apache.maven.plugins   & lt; artifactId> maven-compiler-plugin   & lt; version> 2.3.2   & lt; configuration>   & lt; source> 1.8 & lt;/source>   & lt; target> 1.8 & lt;/target>   & lt; encoding> UTF-8   & lt; compilerArguments>   & lt; extdirs> $ {project.basedir}/lib/& lt;/extdirs>   & lt;/compilerArguments>   & lt;/configuration>   & lt;/plugin>   & lt; plugin>   & lt; groupId> org.apache.maven.plugins   & lt; artifactId> maven-shade-plugin   & lt; version> 3.1.0   & lt; executions>   & lt; execution>   & lt; phase> package   & lt; goals>   & lt; goal> shade   & lt;/goals>   & lt; configuration>   & lt; minimizeJar> true   & lt; filters>   & lt; filter>   & lt; artifact> *: * & lt;/artifact>   & lt;/filter>   & lt;/filters>   & lt; transformers>   & lt; !——往清单文件中写入主类是可执行包的必要条件.ManifestResourceTransformer可以轻松实现。——比;   & lt;变压器   实现=皁rg.apache.maven.plugins.shade.resource.ManifestResourceTransformer”比;   & lt; mainClass> com.ctbri.echoRisk.ApplicationStart   & lt;/transformer>   & lt; !——AppendingTransformer用来处理多个jar包中存在重名的配置文件的合并,尤其是春天——比;   & lt;变压器   实现=皁rg.apache.maven.plugins.shade.resource.AppendingTransformer”比;   & lt; resource> meta - inf/spring.handlers

Java中Maven项目导出jar包配置的示例代码