maven的打包命令--assembly&install

作者: 我可能是个假开发 | 来源:发表于2018-10-27 10:39 被阅读17次

    maven的打包命令--assembly&install和maven update之后jdk版本变回1.5的问题

    在进行maven项目打包时,可以有另个命令assembly和install

    一、install

    命令格式:mvn install

    pom.xml中的写法

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <configuration>
                        <archive>
                            <manifest>
                                <mainClass>com.hcx.transferdata.TransferData</mainClass>
                                <addClasspath>true</addClasspath>
                                <classpathPrefix>lib/</classpathPrefix>
                            </manifest>
                        </archive>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    

    二、assembly

    命令格式:mvn assembly:assembly -DskipTests

    pom.xml中写法

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.5.5</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.hcx.transferdata.TransferData</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <!-- <encoding>UTF-8</encoding> -->
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
        <finalName>inoutdata</finalName>
    </build>
    

    此种打包方式会把所有依赖的jar一同打包进去

    很多时候都要使用第二种打包方式,因为第一种我试过的,老是报没有主清单属性。。。

    感觉mvn install的方式是不可以把依赖的jar打包进去的?但是我印象里我的jar里是有依赖的jar的啊。。。反正assembly的方式保证能把依赖的jar都打包进去。欢迎各位大牛告诉我原因啊

    三、关于maven update之后变回jdk1.5的问题

    之前写的项目,我明明都是选的jdk1.8,就是把所有涉及到jdk版本的地方都该为了1.8,但是每次一执行maven update之后,就立马变回了jdk1.5。我看的很多博客都写的说在build标签中添加<source><target>标签就可以了,就像我上面两个例子那样,但是,不知道是不是我有毒,在我的ide里面就死活不行。解决办法就是,还要通过properties标签来指定,如下:

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    </properties>
    

    相关文章

      网友评论

        本文标题:maven的打包命令--assembly&install

        本文链接:https://www.haomeiwen.com/subject/kvhktqtx.html