在有些场景下我们需要将编写的Java工程编译打包成为一个完整的jar包,如果你的项目是使用maven构建的话可以通过以下方法来完成这个打包的过程。
1、添加maven打包插件。在项目的pom.xml配置文件的build标签中添加以下代码,其中 mainClass 属性需要替换成你项目执行时的主类。
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2</version>
<configuration>
<archive>
<manifest>
<mainClass>com.fuxiao.storm.MastermindTopology</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>
jar-with-dependencies
</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
2、进入项目的根目录下,在命令行中执行以下命令: mvn assembly:assembly
。
该操作的前提是已经配好了maven的环境变量(可以通过执行 mvn -version
操作 检验自己是否已经配好了环境)
3、等待上述命令执行成功后,进入项目根目录下的 target 文件夹,便可以看到生成的jar包。三个jar分别是 不带依赖包的jar、带所有依赖包的jar、项目源码的jar 。
4、若需要执行jar包,则选择带文件名带 with-dependencies 的jar包。然后通过 jar xx--with-dependencies.jar 参数1 参数2..
。参数为可选项,若需要向主类传递参数则在此输入即可,多个参数间通过空格分隔。