精华内容
下载资源
问答
  • maven 打包去除依赖包 或者文件

    千次阅读 2016-01-12 10:54:00
    maven打包时会把该包依赖的包一起打进来,但某些时候我们并不需要这些包,例如xerces(用于解析XML)导进来后可能会造成tomcat启动的异常(包冲突),需要打包时排除掉。 1、排除依赖包 <dependency> ...

    maven打包时会把该包依赖的包一起打进来,但某些时候我们并不需要这些包,例如xerces(用于解析XML)导进来后可能会造成tomcat启动的异常(包冲突),需要打包时排除掉。


    1、排除依赖包

     

            <dependency>
                <groupId>commons-dbcp</groupId>
                <artifactId>commons-dbcp</artifactId>
                <version>1.2.1</version>
                <exclusions>
                    <exclusion>
                        <artifactId>xercesImpl</artifactId>
                        <groupId>xerces</groupId>
                    </exclusion>
                </exclusions>

            </dependency>

     

     

    2、过滤文件

    <build>        

            <resources>

                <resource>

                    <directory>src/main/java</directory>

                    <!-- 包含 -->

                    <includes>

                        <include>**/*.vm</include>

                        <include>**/*.properties</include>

                    </includes>

                    <!-- 排除  -->

                    <excludes>

                    <exclude>**/*.log</exclude>

                    </excludes>

                </resource>

                <resource>

                    <directory>src/main/resources</directory>

                    <filtering>true</filtering>

                    <includes>

                        <include>**/*.*</include>

                    </includes>

                    <excludes>

                    <exclude>**/*.log</exclude>

                    </excludes>

                </resource>

            </resources>

    </build>

    展开全文
  • 中加入以下依赖 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.0.2</version> <configuration...

    pom.xml中<build>下<plugins>中加入以下依赖

    <plugin>
    	<groupId>org.apache.maven.plugins</groupId>
    	<artifactId>maven-jar-plugin</artifactId>
    	<version>3.0.2</version>
    	<configuration>
    		<excludes>
    			<!--打包时排除掉source文件-->
    			<exclude>**/*.java</exclude>
    		</excludes>
    	</configuration>
    </plugin>

     

    展开全文
  • 1、pom文件配置1.1 添加maven-dependency-plugin插件用于将引用的jar包拷贝到指定的路径,便于后续tomcat启动指定依赖包路径org.apache.maven.pluginsmaven-dependency-plugincopypackagecopy-dependencies${project...

    1、pom文件配置

    1.1 添加maven-dependency-plugin插件用于将引用的jar包拷贝到指定的路径,便于后续tomcat启动指定依赖包路径

    org.apache.maven.plugins

    maven-dependency-plugin

    copy

    package

    copy-dependencies

    ${project.build.directory}/lib

    使用这个插件构建完之后的目录结构多了一个lib目录(即上述配置的outputDirectory指定的路径),里面是依赖的jar包:

    a630334c4002dcb42e990e550003db61.png

    b93341c250df9c90a4c27604f8c4e9e1.png

    1.2 添加maven-war-plugin插件

    org.apache.maven.plugins

    maven-war-plugin

    %regex[WEB-INF/lib/(commons-).*.*.jar]

    上述构建配置后打出的war包就会去除掉除war包里/WEB-INF/lib/下面相应的jar包,使得发布包大小变小,加快上传服务器速度,如下图,加压war包,查看WEB-INF/lib目录,没有包含commons开头的jar包,说明已经去除掉了:

    a129c94999e2d294c5743b897a6ac224.png

    原先war包里的结构是包含很多commons开头的jar,如下图:

    681340c332f4226d654b304c11b1985f.png

    按照上述思路我们就可以将lib下的所有jar都去掉,去掉依赖jar以后就可以通过配置tomcat引用外部lib路径来部署项目了

    附注:

    若存在不同版本依赖:比如项目A依赖Y库的1.0版本,项目B依赖Y库的2.0版本,那么可能会出现版本依赖冲突(两个版本不兼容的情况下),解决方案:

    1、能做到版本一致就保持使用同一个版本,尽可能保证多个项目使用同一个库的版本一致

    2、让项目各自依赖所需的版本并打进war包中,把其他同版本的jar包放在同一个共享包下

    测试发现依赖在查找时从上往下找,匹配到就用第一个,如下图会使用comm-0.0.1.jar版本的

    c67e2942117eb848b3a891cd0593368e.png

    展开全文
  • Maven去除引用依赖中的过多依赖

    千次阅读 2018-05-10 19:04:49
    有的时候需要去除引用中的依赖      overlays项目打包排除引用war中多余的jar  排除war中的部分 &lt;overlays&gt; &lt;!-- 合并 war包 --&gt; &lt;overlay&gt; ...
      有的时候需要去除引用中的依赖

     

     

       overlays项目打包排除引用war中多余的jar

           排除war中的部分

                      <overlays>
                            <!-- 合并 war包 -->
            				 <overlay>
                                <groupId>com.fsl</groupId>
                                <artifactId>lcp.extension</artifactId>
                            </overlay>
    
                            <overlay>
                                <groupId>com.fsl</groupId>
                                <artifactId>lcp.hotfix</artifactId>
                            </overlay>
    
                            <overlay>
                                <groupId>com.fsl</groupId>
                                <artifactId>lcp.wrapper</artifactId>
    							<!--  声明排除war包中的部分 -->
                                <excludes>			
                                    <exclude>WEB-INF/lib/hap*</exclude>
                                </excludes>
    
                            </overlay>
                        </overlays>

    maven 打包的时候排除多余的文件

    <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.6</version>
                    <configuration>
                        <attachClasses>true</attachClasses><!-- 把class打包jar作为附件 -->
                        
    					 <packagingExcludes>
                            WEB-INF/lib/hap*classes.jar
                        </packagingExcludes> 
                    </configuration>
                </plugin>
            </plugins>

     

    展开全文
  • 背景本篇文章记录下如何使用Maven插件将核心代码包和依赖包分离的方法,最近在公司业务代码的加密工作,使用加密工具针对SpringBoot工程代码...这里分两种方案进行实现,其实就是基于Maven插件的配置实现Maven打包后...
  • maven打包去除不需要的jar包策略

    千次阅读 2018-12-25 09:33:42
    Maven1中,需要把依赖所需要的包每个列出。这对于使用类似如Hibernate的用户来说所操的心太多了,而且也不方便。在Maven2中实现了传递依赖,如此对于Hibernate所依赖的包,Maven2会自动下载,开发人员只需关心...
  • Maven2中实现了传递依赖,如此对于Hibernate所依赖的包,Maven2会自动下载,开发人员只需关心Hibernate即可。所以可以看出列出所需要的每个jar是在maven1中的功能,Maven2认为自动下载是一种改进。  这样就产生...
  • 1、pom文件配置1.1 添加maven-dependency-plugin插件用于将引用的jar包拷贝到指定的路径,便于后续tomcat启动指定依赖包路径org.apache.maven.pluginsmaven-dependency-plugincopypackagecopy-dependencies${project...
  • 场景:因为之前用到的是,基于springboot框架所搭建的maven工程,而且都是相互独立的。现研发经理要求将所有工程进行整合和规范化,所以抽出一个parent父工程,base基础模块(包含一些公用的实体类和工具类等),以及其他子...
  • springboot项目中使用maven打包:(maven生命周期的一个环节) 去除spring-boot-maven-plugin中去除repackage 否则会打包失败 springboot项目存在的目录不是为了作为别的项目的依赖 所以默认不配置如下...
  • jenkins+maven打包一直会出现下面的问题,有大佬遇到过吗? ``` 15:32:18 [ERROR] Failed to execute goal on project demo: Could not resolve dependencies for project ...
  • 2.maven打包方式的不同

    2019-12-17 16:17:03
    (1)打包snapshot和正式版本号是不一样的,发布到私服中的命令也不一样,不需要snapshot方式时,各个依赖包下都需要去除 (2)打包过程中可能会遇到的编码错误,可能需要设置打包时的项目编码 (3)spring.maven.plugin...
  • SpringBoot生产环境打包去除无用依赖

    千次阅读 2018-05-06 18:08:25
    1、去除在生产环境中不变的依赖第三方jar包 pom.xml中添加: &lt;plugin&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-maven-...
  • javax.servlet  jsp-api  2.0 ...compile 默认的scope,表示 ...而且,这些dependencies 会传递到依赖的项目中。适用于所有阶段,会随着项目一起发布 provided 跟compile相似,但是表明了dependency 由
  • javax.servlet  jsp-api  2.0 ...compile 默认的scope,表示 ...而且,这些dependencies 会传递到依赖的项目中。适用于所有阶段,会随着项目一起发布 provided 跟compile相似,但是表明了dependency 由J
  • 1.Maven的pom文件 在每一个maven项目中,都...而maven就是通过加载pom.xml来获取项目的全部信息,从而实现依赖,构建,测试,打包,生成报告的所有功能.(如果没有pom文件则无法实现构建,打包,测试等操作) 1.2基本项目
  • 在我们的开发过程中,目前流行的版本控制工具maven,在项目开发阶段,大家都是通过发布SNAPSHOT快照版进行相互模块之间的依赖开发, 这个时候就会有一个问题,要是一天构建多次的快照版,会发现在项目打包的时候,...
  • SpringBoot/SpringCloud maven分离打包 目的:把微服务的jar包尽量变得足够小,公共不变jar包进行提取放到特定文件夹内,然后启动jar包的时候进行指定lib文件目录地址即可。...--打包去除第三方依赖--> ...
  • SpringBoot 打包配置去除第三方依赖

    千次阅读 2019-07-09 09:16:29
    Springboot 打包时默认会把依赖的第三方包打到jar包里(BOOT-INF/lib),非常不方便,想要去掉打第三方的依赖包,网上看了一些帖子都没有说到点子上,实测下面的方法可用 修改spring-boot-maven-plugin 插件,将...
  • 项目打包分离依赖

    2021-02-21 21:31:13
    项目依赖加多了,每次更新打包上传浪费时间的一批 在pom里面加入分离,让...--打包去除第三方依赖--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin&l

空空如也

空空如也

1 2 3
收藏数 53
精华内容 21
关键字:

maven打包去除依赖