方法1:
(1)运行mvn clean package 生成mall-product-1.0.0.jar
(2)运行mvn dependency:copy-dependencies 拷贝项目中jar包到默认路径target/dependency
(3)新建文件夹product/lib将(1)中的jar和(2)中的jar拷到该文件夹下面
(4)在控制台运行命令(进入到新建文件夹中,lib外面)D:Workspaces2product>java -Djava.ext.dirs=lib com.edu.spring.mall.product.App
方法2:
在pom.xml文件中添加如下插件
<build> <plugins> <!-- http://www.mojohaus.org/appassembler/appassembler-maven-plugin/index.html --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>appassembler-maven-plugin</artifactId> <version>1.2.1</version> <configuration> <!-- 生成linux, windows两种平台的执行脚本 --> <platforms> <platform>windows</platform> <platform>unix</platform> </platforms> <!-- 根目录 --> <assembleDirectory>${project.build.directory}/product</assembleDirectory> <!-- 打包的jar,以及maven依赖的jar放到这个目录里面 --> <repositoryName>lib</repositoryName> <!-- 可执行脚本的目录 --> <binFolder>bin</binFolder> <!-- 配置文件的目标目录 --> <configurationDirectory>conf</configurationDirectory> <!-- 拷贝配置文件到上面的目录中 --> <copyConfigurationDirectory>true</copyConfigurationDirectory> <!-- 从哪里拷贝配置文件 (默认src/main/config) --> <configurationSourceDirectory>src/main/resources</configurationSourceDirectory> <!-- lib目录中jar的存放规则,默认是${groupId}/${artifactId}的目录格式,flat表示直接把jar放到lib目录 --> <repositoryLayout>flat</repositoryLayout> <encoding>UTF-8</encoding> <logsDirectory>logs</logsDirectory> <tempDirectory>tmp</tempDirectory> <programs> <program> <!-- 启动类 --> <mainClass>com.edu.spring.mall.product.App</mainClass> <jvmSettings> <extraArguments> <extraArgument>-server</extraArgument> <extraArgument>-Xmx1G</extraArgument> <extraArgument>-Xms1G</extraArgument> </extraArguments> </jvmSettings> </program> </programs> </configuration> </plugin> </plugins> </build>
运用maven插件 mvn appassembler:assemble
方法3:
在pom.xml文件中添加如下插件
... ...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<finalName>demo</finalName>
</build>
</project>
包名即为demo.jar。Linux下运行:D: emp>java -jar demo.jar