精华内容
下载资源
问答
  • maven 打包时间戳问题

    2020-08-25 04:09:45
    主要介绍了maven 打包时间戳问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习
  • 这是一个springboot+maven写的demo,主要演示springboot项目通过maven插件,将依赖与配置文件打包到jar包外部,实现灵活的项目管理.仅供参考学习
  • 主要介绍了Maven打包jar包没有主属性问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 主要介绍了Maven 打包项目到私服 (deploy)的配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • 主要介绍了Maven 生成打包可执行jar包的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习
  • 主要介绍了Maven打包jar生成javadoc文件和source文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 本文是研究Maven压缩打包技术中的第一部分,主要介绍了如何开发Maven插件,参与maven build的打包过程。 并附上了学习过程中应注意的细节,以及遇到的问题及解决方法。
  • 主要介绍了Maven打包并生成运行脚本,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • Maven-assembly-plugin是maven中针对打包任务而提供的标准插件,可以实现自定义打包。主要提供如下功能: ● 提供一个把工程依赖元素、模块、网站文档等其他文件存放到单个归档文件里。 ● 打包成指定格式分发包,...
  • 详解Maven打包和运行

    2020-08-18 20:01:35
    主要介绍了Maven打包和运行的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • 分享知识 传递快乐 聚合包 在 parent 项目中的 pom.xml 聚合 common-core log-core settings.xml 配置 配置... 获取私服的仓库地址方式 IDEA打包到私服 ——————————— 如有不足请留言指正 相互学习,共同进步

    分享知识 传递快乐

     

    聚合包

    在 parent 项目中的 pom.xml 聚合

    <modules>
        <!-- 聚合模块 -->
        <module>common-core</module>
        <module>log-core</module>
    </modules>

    settings.xml 配置

    配置私服的用户名密码

    <servers>
        <server>
            <id>idc</id>
            <username>admin</username>
            <password>admin</password>
        </server>
    </servers>

    pom.xml 配置

    配置上传私服的地址

    <!-- mvn deploy 把jar包发布到nexus私服中 -->
    <distributionManagement>
        <!-- 发布到发行版本的仓库中,即正式版本仓库 -->
        <repository>
            <!--repository里的id需要和第一步里的server id名称保持一致-->
            <id>idc</id>
            <!--仓库名称-->
            <name>anchnet.repository</name>
            <!--私服仓库地址-->
            <url>http://repo.anchnet.com/repository/maven-releases/</url>
        </repository>
    </distributionManagement>

    distributionManagement 包含 repository 和 snapshotRepository 子元素,前者表示发布版本构建的仓库,后者表示快照版本的仓库。

    这两个元素下都需要配置一下参数:

    • id:为该远程仓库的唯一标识
    • name:是为了方便人阅读
    • url:表示该仓库的地址

    注意:repository 里的 id 需要和 settings.xml 配置文件里的 server id 名称保持一致

    配置正确后,在命令行运行:

    mvn clean deploy

    Maven 就会将项目构建输出的构件部署到配置对应的远程仓库,如果项目当前的版本是快照版本,则部署到快照版本仓库地址,否则就部署到发布版本仓库地址。

     


     

    获取私服的仓库地址方式

    IDEA打包到私服

     

     

     

     

     

     

     

     

     

     

     

    ———————————

    如有不足请留言指正
    相互学习,共同进步

    展开全文
  • Maven学习笔记(十二)-maven打包之resource配置

    万次阅读 多人点赞 2018-01-13 18:54:37
    构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件。 ● src/main/java和src/test/java 这两个目录中的所有*.java文件会分别在comile和test-comiple阶段被编译,...

    一、简介


    构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件。

    ● src/main/java和src/test/java 

    这两个目录中的所有*.java文件会分别在comile和test-comiple阶段被编译,编译结果分别放到了target/classes和targe/test-classes目录中,但是这两个目录中的其他文件都会被忽略掉。

    ● src/main/resouces和src/test/resources
    这两个目录中的文件也会分别被复制到target/classes和target/test-classes目录中。
     
    ● target/classes

    打包插件默认会把这个目录中的所有内容打入到jar包或者war包中。


    如下所示:




    二、Maven项目的标准目录结构


    • src
      • main
        • java         源文件 
        • resources    资源文件
        • filters   资源过滤文件
        • config   配置文件
        • scripts   脚本文件
        • webapp   web应用文件
      • test
        • java    测试源文件
        • resources    测试资源文件
        • filters    测试资源过滤文件
      • it       集成测试
      • assembly    assembly descriptors
      • site    Site
    • target
      • generated-sources
      • classes
      • generated-test-sources
      • test-classes
      • xxx.jar
    • pom.xml
    • LICENSE.txt
    • NOTICE.txt
    • README.txt

    三、打包时资源文件的配置


    3.1、打包src/main/java目录下的xml


    一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,maven能把这些资源文件打包到相应的jar或者war里。


    有时候,比如mybatis的mapper.xml文件,我们习惯把它和Mapper.java放一起,都在src/main/java下面,这样利用maven打包时,就需要修改pom.xml文件,来把mapper.xml文件一起打包进jar或者war里了,否则,这些文件不会被打包的。(maven认为src/main/java只是java的源代码路径)


    下面通过一个简单的示例来说明:


    项目结构如下所示,有两个UserMaper.xml文件,所在目录不同




    默认情况下,在POM.XML目录下执行: mvn clean package 打包命令在target\classes目录下不会把UserMapper.xml打包到下mapper目录下


    而resources目录下的文件始终都会打包进jar包或war包




    这个时候使用mybatis就会出一些问题,找不到UserMapper所对应的xml文件解决方法有如下几种:


    (1)配置POM.XML的resource把xml也打包到mapper目录下


        <build>
           <!-- 资源目录 -->    
            <resources>    
                <resource>    
                    <!-- 设定主资源目录  -->    
                    <directory>src/main/java</directory>    
    
                    <!-- maven default生命周期,process-resources阶段执行maven-resources-plugin插件的resources目标处理主资源目下的资源文件时,只处理如下配置中包含的资源类型 -->     
    				 <includes>
    					  <include>**/*.xml</include>
    				 </includes>  
                         
                    <!-- maven default生命周期,process-resources阶段执行maven-resources-plugin插件的resources目标处理主资源目下的资源文件时,不处理如下配置中包含的资源类型(剔除下如下配置中包含的资源类型)-->      
    				<excludes>  
    					<exclude>**/*.yaml</exclude>  
    				</excludes>  
    
                    <!-- maven default生命周期,process-resources阶段执行maven-resources-plugin插件的resources目标处理主资源目下的资源文件时,指定处理后的资源文件输出目录,默认是${build.outputDirectory}指定的目录-->      
                    <!--<targetPath>${build.outputDirectory}</targetPath> -->      
       
                    <!-- maven default生命周期,process-resources阶段执行maven-resources-plugin插件的resources目标处理主资源目下的资源文件时,是否对主资源目录开启资源过滤 -->    
                    <filtering>true</filtering>     
                </resource>  			
            </resources> 	
      </build>

    其中**/*这样的写法,是为了保证各级子目录下的资源文件被打包。resources是可以看做是容器,这个容器里面可以放很多个像resource这样的配置。而directory就是配置文件所在的路径,includes从英文单词角度看,就是包含的意思,此时在执行命令,就会把xml也打包到mapper目录下了




    Resources官方文档地址为:http://maven.apache.org/pom.html#Resources


    (2)maven-resources-plugin插件


    为了使项目结构更为清晰,Maven区别对待Java代码文件和资源文件,maven-compiler-plugin用来编译Java代码,maven-resources-plugin则用来处理资源文件。


    默认的主资源文件目录是src/main/resources,很多用户会需要添加额外的资源文件目录,这个时候就可以通过配置maven-resources-plugin来实现。

                <!--
                        此plugin可以用
                        利用此plugin,把源代码中的xml文件,打包到相应位置,
                        这里主要是为了打包Mybatis的mapper.xml文件
                        -->
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.5</version>
                    <executions>
                        <execution>
                            <id>copy-xmls</id>
                            <phase>process-sources</phase>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>${basedir}/target/classes</outputDirectory>
                                <resources>
                                    <resource>
                                        <directory>${basedir}/src/main/java</directory>
                                        <includes>
                                            <include>**/*.xml</include>
                                        </includes>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

    此外,资源文件过滤也是Maven的一大特性,你可以在资源文件中使用${propertyName}形式的Maven属性,然后配置maven-resources-plugin开启对资源文件的过滤,之后就可以针对不同环境通过命令行或者Profile传入属性的值,以实现更为灵活的构建。

    <plugin>
    	<groupId>org.apache.maven.plugins</groupId>
    	<artifactId>maven-resources-plugin</artifactId>
    	<configuration>
    		<encoding>UTF-8</encoding>
    		<!-- 过滤后缀为pem、pfx的证书文件 -->
    		<nonFilteredFileExtensions>
    			<nonFilteredFileExtension>pem</nonFilteredFileExtension>
    			<nonFilteredFileExtension>pfx</nonFilteredFileExtension>
    			<nonFilteredFileExtension>p12</nonFilteredFileExtension>
    		</nonFilteredFileExtensions>
    	</configuration>
    </plugin>

    (3)build-helper-maven-plugin插件

      <!--
            此plugin可以用
            利用此plugin,把源代码中的xml文件,
            打包到相应位置,这里主要是为了打包Mybatis的mapper.xml文件
            -->
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.8</version>
                    <executions>
                        <execution>
                            <id>add-resource</id>
                            <phase>generate-resources</phase>
                            <goals>
                                <goal>add-resource</goal>
                            </goals>
                            <configuration>
                                <resources>
                                    <resource>
                                        <directory>src/main/java</directory>
                                        <includes>
                                            <include>**/*.xml</include>
                                        </includes>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

    3.2、src/main/resources目录下的xml等资源文件不被打包


    默认resources目录下的文件都会被打包,如果想resources目录下的xml文件不被打包,可通过如下配置:

    	<!--过滤resource下的文件-->
    	<resources>  
            <resource>  
                <directory>src/main/resources</directory>  
                <includes>  
                    <include>*.properties</include>  <!--打包properties文件-->
                </includes>  
                <excludes>  
                    <exclude>*.xml</exclude>  <!--过滤xml与yaml文件-->
                    <exclude>*.yaml</exclude>  
                </excludes>  
            </resource>  
        </resources>

    编译之后如下:




    当然也可以通过插件来实现

        <plugin>  
            <artifactId>maven-resources-plugin</artifactId>  
            <executions>  
                <execution>  
                    <id>copy-resources</id>  
                    <phase>validate</phase>  
                    <goals>  
                        <goal>copy-resources</goal>  
                    </goals>  
                    <configuration>  
    
    					<!-- 并把文件复制到target/conf目录下-->
                        <outputDirectory>${project.build.directory}/conf</outputDirectory>  
                        <resources>  
                            <resource>  
                                <directory>src/main/resources</directory>  
    							<!-- 指定不需要处理的资源 <excludes> <exclude>WEB-INF/*.*</exclude> </excludes> -->  
    							<excludes> <exclude>**/*.xml</exclude> </excludes>
                                <filtering>true</filtering>  
                            </resource>  
                        </resources>  
                    </configuration>  
                </execution>  
            </executions>  
        </plugin> 

    实现的效果如下:



    编译好之后,会在target目录下生成conf目录并且把resources目录下的所有文件都自动拷贝到target/conf/目录下


    参考: https://www.cnblogs.com/pixy/p/4798089.html

    展开全文
  • 【Maven学习Maven打包生成包含所有依赖的jar包

    万次阅读 多人点赞 2017-01-06 10:13:26
    maven打包生成的普通jar包,只包含该工程下源码编译结果,不包含依赖内容。同时,maven提供以下方式生成包含所有依赖的jar文件,依赖以class的方式存在; 将此plugin添加到pom文件中 <artifactId>maven-assembly-...

    maven打包生成的普通jar包,只包含该工程下源码编译结果,不包含依赖内容。同时,maven提供以下方式生成包含所有依赖的jar文件,依赖以class的方式存在;
    将此plugin添加到pom文件中

                 <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <configuration>
                        <!--这部分可有可无,加上的话则直接生成可运行jar包-->
                        <!--<archive>-->
                            <!--<manifest>-->
                                <!--<mainClass>${exec.mainClass}</mainClass>-->
                            <!--</manifest>-->
                        <!--</archive>-->
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                </plugin>

    如果出现CLASS重名的情况,这时候就要把最新的版本号添加进去即可,

    2.在当前项目下执行mvn assembly:assembly, 执行成功后会在target文件夹下多出一个以-jar-with-dependencies结尾的JAR包. 这个JAR包就包含了项目所依赖的所有JAR的CLASS.

    3.如果不希望依赖的JAR包变成CLASS的话,可以修改ASSEMBLY插件.

    • 找到assembly在本地的地址,一般是
      c:/users/${your_login_name}/.m2/\org\apache\maven\plugins\maven-assembly-plugin\2.4
    • 用WINZIP或解压工具打开此目录下的maven-assembly-plugin-2.4.jar, 找到assemblies\jar-with-dependencies.xml
    • 把里面的UNPACK改成FALSE即可
    展开全文
  • Maven打包JavaWeb项目的两种方式

    千次阅读 2018-03-15 15:14:33
    Maven打包web项目方式及步骤 我最近学习的打包方式有两种,分为如下: 第一种是通过命令行打包:要知道maven常用的命令 第二种是通过eclipse打包:简单方便就可以打包,是普遍使用的方式 一、通过eclipse打包...

    Maven打包web项目方式及步骤

    我最近学习的打包方式有两种,分为如下:

    • 第一种是通过命令行打包:要知道maven常用的命令
    • 第二种是通过eclipse打包:简单方便就可以打包,是普遍使用的方式

    一、通过eclipse打包web项目

    (1)进入eclipse打包右键点击项目,选择Run As。
    这里写图片描述

    (2)任何打包前先进行清理,选择Maven clean。等待console出现如下图所示的BUILD SUCCESS,清理之前的包
    这里写图片描述
    (3)之后Maven打包处理得到以下窗口,再Goals中输入packge(也可以跳过clean步骤吗,再这里直接输入clean package)
    选择跳过测试Skip Tests与更新快照Update Snapshots
    这里写图片描述
    Goals中其实填入的的就是maven常用的命令:

    • mvn package:打包命令
    • mvn install: 打包后将其安装在本地仓库,日后可以调用
    • mvn test:运行测试
    • mvn clean :清除之前的包
    • mvn compile:变异源代码,生成class文件
      ………

    (4)等待Console出现打包成功的信息,也可能会失败。
    这里写图片描述
    (5)之后查看target下是否存在打包成功的class文件及xxxxx.war包
    打包之前项目的target文件夹如下,是没有任何的class文件以及xxx.war包的
    这里写图片描述
    打包之后查看项目的target文件夹,存在了class字节码文件与war包
    这里写图片描述
    (6)之后将war拷贝到tomcat的wapapps文件夹下,即可以通过访问http://localhost:8080/xxx项目名称访问,这样做的好处就是可以脱离IDE,进行打包发布。

    二、通过命令来实现打包

    再安装好maven环境之后,可以再dos下进行maven命令进行项目的打包。其大体步骤跟第一种方式大同小异。
    (1)进入项目所在目录,进行clean命令

    mvn clean

    这里写图片描述
    (2)打包+传入配置文件参数+跳过测试

    mvn package -Pqa -DskipTests

    • package :基本命令,进行打包
    • -Pqa:项目开发需要有多个环境,一般为开发,测试,预发,正式4个环境,通过maven可以实现按不同环境进行打包部署。也就是dev(开发)、qa(测试)、pre(预发)、生产正式(prod)四个环境,对应的都有各自的配置文件properties。
      这里写图片描述
      通过-P传入环境id参数就可以选择环境,比如传入qa,即命令-Pqa 。会得到qa.peroperties配置文件,这是因为我们在pom.xml文件中有这样的配置
    <build>
        <filters>
               <filter>src/main/resources/env/${env}.properties</filter>
           </filters>
           <resources>  
              <resource>  
                  <directory>src/main/resources/</directory>  
                  <filtering>true</filtering>  
                  <includes>  
                      <include>**/*.properties</include>  
                  </includes>  
              </resource> 
           </resources>
     ....
     </build>

    其中${env}.properties就是让我们传入环境参数qa、dev、prod、pre。
    - DskipTests:跳过测试,否则打包过程很慢
    这里写图片描述
    这里写图片描述

    (4)同样在target文件夹下找到项目war包,然后拷贝到tomcat的webapps文件夹下进行打包发布配置

    在打包过程中需要注意的几点

    (1)mvn打包必须有JDK环境下才能正确打包。

    (2)正确配置pom.xml文件

    (3)版本号可以在pom.xml中修改

    展开全文
  • 解决Maven打包没有依赖jar包问题

    千次阅读 2020-12-15 21:58:47
    在使用 `maven package` 打包时发现生成的 `xxx.jar` 文件只有几兆,打开后发现只是当前项目被编译后的class 文件,而没有项目依赖的 jar。
  • Maven打包jar与lib依赖包目录分离和不分离 前言 背景需求 Maven打包jar与lib依赖包不分离 Maven打包jar与lib依赖包分离 前言 Jar文件(Java归档,英语:Java Archive)是一种软件包文件格式,以流行的 ZIP 文件格式...
  • 在项目中使用maven引入了lib中的几个本地jar包引入方法:这种方法没有毛病,但是每次打包都会多多少少给来点小插曲,于是乎就有了下文。 二、解决方案 1》可以将jar包直接倒入到自己本地的maven仓库,这只适用...
  • 主要介绍了Maven3种打包方式中maven-assembly-plugin的使用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • Maven 打包实战

    千次阅读 2019-03-13 19:14:04
    前言 上一章,我们介绍了Maven内的常见插件.Maven的...本章我们将详细的介绍Maven打包以及打包的各种情况. PS: 本文所用的Maven例子可以在我的Github仓库内找到 https://github.com/SeanYanxml/maven-train Jar包 所...
  • Maven打包web项目方式及步骤 我最近学习的打包方式有两种,分为如下: 第一种是通过命令行打包:要知道maven常用的命令 第二种是通过eclipse打包:简单方便就可以打包,是普遍使用的方式 一、通过eclipse打包web...
  • 文章目录Springboot 使用 Maven 打包 DockerV1.0V1.1开放远程 docker 的端口修改配置文件docker重新读取配置文件,重新启动docker服务查看端口打包运行镜像v1.2 springboot 连接数据库在原来的项目上添加上下面的...
  • 主要介绍了idea+maven打jar包的两种方式,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • 如何使用maven打包并发布到中央服务器

    千次阅读 热门讨论 2018-03-07 23:41:41
    今天我们介绍一下maven打包相关的知识点,平时我们使用的大多数类库,就是在maven的中央服务器上面,如果我们要把自己的包,发布到中央服务器,让大家都可以使用。这就需要使用到打包的相关知识点,接下我们就进入...
  • maven打包

    2020-12-22 16:16:57
    学习maven打包,大家尝试maven打包(clean install) 启动项目,脱离我们的开发工具,编写windows bat脚本启动项目,指定dev配置文件(springboot启动如何指定配置文件),在我们的电脑上运行起服务,页面能够独立访问 ...
  • 最近在学习Kafka,需要在本地把自己的代码用maven打包成jar包之后再放到服务器上面跑。期间遇到了许多问题,在这里总结一下解决这些问题的经过,希望能对同样遇到了这些问题的朋友有所帮助。 我用的是IntelliJ IDEA ...
  • maven添加依赖 首先,如何在maven项目中添加依赖包?这个相信对于大部分人来说是非常简单的,在pom.xml文件如下配置: <dependency> <groupId>org.apache.spark</groupId> <...
  • 项目打包需求描述 1、导出单独的项目jar包(精简,不包含依赖jar) 2、项目依赖的所有jar包导出到lib目录下 3、项目依赖oracle ojdbc8.jar,在maven仓库中并不存在,需要一并导出并添加进MANIFEST.MF文件中的Class-...
  • maven打包,把配置文件打包的外部。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,257
精华内容 12,502
关键字:

maven打包学习