eclipse 如何对maven项目进行打包?

eclipse 如何对maven项目进行打包?

CreateTime--2018年4月19日22:02:50

Author:Marydon

1.方式一:使用eclipse中的maven插件(命令)打包

  方法:利用pom.xml文件打包

  pom.xml内容示范:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>demo_WebService2</groupId>
    <artifactId>demo_WebService2</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <dependencies>
        <!-- https://mvnrepository.com/artifact/aopalliance/aopalliance -->
        <dependency>
            <groupId>aopalliance</groupId>
            <artifactId>aopalliance</artifactId>
            <version>1.0</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <!-- Java编译插件版本 -->
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <!-- 跳过对测试代码的编译 -->
<!--                     <skip>true</skip> -->
                </configuration>
            </plugin>
            <!-- 跳过对测试类代码的执行 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.4.2</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
View Code 

  打包前,target目录在eclipse下的展示

  打包前,target目录在磁盘上的展示

  具体操作:

  选中"pom.xml"-->右键-->Run As/Debugg As-->Maven install

  不出意外的话,打包成功

  打包后,target目录在eclipse下的展示

  选中target目录-->右键-->Refresh

  

  打包后,target目录在磁盘上的展示

  红框标出来的是,多出的文件夹    

  Maven install命令执行流程:

  对src/main/java/下的Java文件进行编译-->对src/test/java/下的Java文件进行编译-->

  在target目录下创建项目webapp:demo_WebService2-0.0.1-SNAPSHOT-->

  并将target/classes和target/test-classes下的所有文件组装到target/demo_WebService2-0.0.1-SNAPSHOT/WEB-INF/classes下-->

  将D:\WorkSpaces\eclipse2016\demo_WebService2\src\main\webapp目录下的除了classes文件夹和lib以外的所有文件拷贝到该目录下-->

  将该目录打成war包。

  证实:

  为了证实猜想,所以在用maven打包之前我将WEB-INF/classes和lib文件加下的内容全部清空或者直接将这2个文件夹删掉。

  这就证明了:

  打包后的classes里的编译文件不是来自于WEB-INF/classes;

  打包后的lib里的jar包不是来自于WEB-INF/lib,而是来自与pom.xml。

  

2.方式二:使用eclipse的export进行打包

  选中项目-->右键-->Export-->选择"WAR File"-->Next;

  点击"Browse..."设置war保存位置-->取消勾选项"Optimize for a ..."-->Finish

总结:

  项目开发过程中,使用maven对项目打war包;

  将项目进行正式部署时,使用eclipse的export对项目打war;

  使用maven打的jar包,并不一定是最新,当将项目发布到正式地址时,一定要记得重新打个war包。

posted @ 2018-04-19 22:14  Marydon  阅读(4207)  评论(0编辑  收藏  举报