• 《Maven实战》知识点记录总结


    高清PDF地址:

    记录一些不常见但是又很赞的maven知识点与技巧~

    第三章 maven使用入门

    3.4 打包和运行

    场景:新建了一个Maven工程,并且其中有一个HelloWorld.java 文件,并且包含main函数

    需求:将此项目打包,复制项目的jar包给其他项目使用

    我们依次执行:maven clear,maven package,maven install会发现在当前目录下生成了一个target文件夹,其中包含一个项目的jar包。

    我们运行这个jar,却发现不能够正常使用。

    到目前为止,还没有运行Hello World项目,不要忘了HelloWorld 类可是有一个main方法的。默认打包生成的jar是不能够直接运行的

    因为带有main方法的类信息不会添加到manifest中(打开jar文件中的META-INF/MANIFEST. MF文件,将无法看到Main-Class 一行)。

    为了生成可执行的jar文件,需要借助maven shade-plugin,配置该插件如下:修改主类即可

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <mainClass>top.zhangzhixi.HelloWorld</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>assembly</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    再执行:maven clear,maven package,maven install 

    【可以对比一下之前生成的jar包文件,可以发现添加了plugin插件的jar包信息,解压jar包后在MANIFEST.MF文件最下面一行,有我们的主类信息了!】


  • 相关阅读:
    关于aspx消除源代码的第一行空行(一步搞定!!!)
    考虑
    一段时间没来园子了
    随便写写
    自考群网站功能说明
    打开一个别人的代码遇到的问题
    i7 4790 z97ar ssd 固态硬盘 装机的一些经历
    我编程遇到的问题,解决方法与大家分享
    学习,学习,还是学习
    准备考试
  • 原文地址:https://www.cnblogs.com/zhangzhixi/p/16011121.html
Copyright © 2020-2023  润新知