<build>
<finalName>user-springboot</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2.maven-shade-plugin打包插件
<build>
<finalName>user-shade</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.2.7.RELEASE</version>
</dependency>
</dependencies>
<configuration>
<keepDependenciesWithProvidedScope>true</keepDependenciesWithProvidedScope>
<createDependencyReducedPom>true</createDependencyReducedPom>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer
implementation="org.springframework.boot.maven.PropertiesMergingResourceTransformer">
<resource>META-INF/spring.factories</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Main-Class>com.example.demo.Application</Main-Class>
</manifestEntries>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<defaultGoal>compile</defaultGoal>
</build>
package com.example.demo.common.utils;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class EnvironmentManager {
private static final Logger logger = LoggerFactory.getLogger(EnvironmentManager.class);
public static String content ="";
public EnvironmentManager(){
}
static {
//获取服务根目录
try
{
String path = EnvironmentManager.class.getProtectionDomain().getCodeSource().getLocation().getFile();
path = java.net.URLDecoder.decode(path, "UTF-8"); // 转换处理中文及空格
System.out.println("path1:"+path);
File f = new File(path);
String parent_path = f.getParent();
path = java.net.URLDecoder.decode(parent_path, "UTF-8");
System.out.println("path12:"+path);
File f1 = new File(path);
content = f1.getParent().substring(5);
System.out.println("path3:"+content);
} catch (java.io.UnsupportedEncodingException e) {
logger.error(e.getMessage());
}
if(!content.endsWith("/")){
content = content+"/";
}
}
}
4.1shade打包结果
path1:/root/project/user/lib/user-shade.jar
path12:/root/project/user/lib
path3:/root/project/user
4.2spring-boot-maven-plugin打包结果
path1:file:/root/project/user/lib/user-springboot.jar!/
path12:file:/root/project/user/lib
path3:file:/root/project/user