应用场景:
需要将Java连接redis客户端项目导入到内网环境的容器中,此项目包含多个第三方包。具体操作如下:
1、在项目project中加入插件的依赖,写入pom.xml文件中,增加的内容如下:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>paas.redis_client.JedisSentinel</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>
jar-with-dependencies
</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
注意:一定要写main方法文件的入口,示例如下,写到main方法的上级目录。
注:上述pom.xml内容有一些重复,是由于笔者第一次接触,还没有仔细学习,没有精炼化。但运行是成功的。
2、徽标win +R 进入cmd页面。切换到需打包项目的目录redis-client。执行打包命令
mvn assembly:assembly
打包成功如下:
3、如果上面的命令成功执行,那么在项目路径的target文件下就会有两个jar文件,一个是有jar包依赖的,一个是没jar包依赖的。
4、将含有依赖的jar(redis-client-0.0.1-SNAPSHOT-jar-with-dependencies.jar)导出,上传至内网环境的容器中运行,如图所示,运行成功!
java -jar redis-client-0.0.1-SNAPSHOT-jar-with-dependencies.jar