精华内容
下载资源
问答
  • maven in action(八)maven常用插件使用

    千次阅读 2015-04-22 15:24:27
    针对问题,maven web项目如何部署到容器中,如何测试,如何提交svn,在本篇中就有了答案。 maven的所有操作是通过插件来执行的,插件maven的核心,所有的执行操作都是基于插件设定了目标,一个插件中可能有多个...

          

         针对问题,maven web项目如何部署到容器中,如何测试,如何提交svn,在本篇中就有了答案。

    maven的所有操作是通过插件来执行的,插件是maven的核心,所有的执行操作都是基于插件设定了目标,一个插件中可能有多个目标。maven的三套生命周期,都是由其本身插件来完成,除此之外,还有一些实用的插件,如下。


    maven之jetty插件

    什么是jetty?

           jetty是一个纯粹的基于java的网页服务器和java servlet容器。尽管网页服务器通常用来为人们呈现文档,但是Jetty通常在较大的软件框架中用计算机和计算机之间的通信。jetty是eclipse基金会的一部分,是一个自由和开源的项目。该网页服务器被用在Apache ActiveMQ、apache Maven、FUSE、Eclipse等产品上。Jetty也是Lift、Red5、Hadoop等开源项目的服务器。Jetty支持最新的Java Servlet API,支持SPDY和WebSocket协议。

           我们可以在myeclipse和eclipse中安装jetty容器,但更为方便快捷,我们可以直接使用maven的jetty插件。


           在项目的pom.xml文件中配置 jetty,代码如下:

    <span style="font-family:Microsoft YaHei;font-size:14px;"><plugins>
     	<plugin>
        		<groupId>org.mortbay.jetty</groupId>
        		<artifactId>jetty-maven-plugin</artifactId>
        		<version>7.6.10.v20130312</version>
        		<configuration>
        			<scanIntervalSecond>10</scanIntervalSecond>
        			<webApp>
        				<contextPath>/test</contextPath>
        			</webApp>
        		 <connectors>
        				<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
                    		<port>8083</port>  
                		</connector> 
        		 </connectors> 
        		 <war>${basedir}/target/vms-maven-3.0.war</war>
        		</configuration>
        </plugin></span>
    <span style="font-family:Microsoft YaHei;font-size:14px;"></plugins></span>

    在maven的setting.xml文件中配置如下代码:

    <span style="font-family:Microsoft YaHei;font-size:14px;"><pluginGroups>
         <!-- 配置eclipse插件-->  
    		
    		<pluginGroup>org.mortbay.jetty</pluginGroup>  
    </pluginGroups></span>

           运行命令: mvn jetty:run


           在浏览器中输入:http://localhost:8083/test 来测试应用了。


    maven之自动部署到tomcat插件Cargo

           什么是cargo?

           cargo是一组帮助用户操作web容器的工具,它能够帮助用户实现自动化部署,而且支持几乎所有的web容器,如tomcat、jboss、jetty和GlassFish等,Cargo提供了maven集成,让maven用户可以使用该插件将web项目部署到web容器中。虽然这个插件和上述的jetty插件类似,但是目的不同,jetty插件用来快速开发和测试,而cargo插件主要服务于自动化部署。例如我们输入一条简单的maven命令,就可以将构建项目部署到web容器中,下面我们以tomcat为例介绍此插件。

           配置cargo插件

           cargo两种模式,standalone模式是cargo会从web容器安装目录复制一份配置到用户指定目录,然后再次基础上部署应用,每次重新构建的时候,目录被清空,然后重新配置。existing模式,用户需要指定现有的web容器配置目录,然后cargo会直接使用这些配置并将应用部署到其对应位置。我们以standalone模式为例。
    在主项目的pom.xml中添加如下配置,代码如下所示:
    <span style="font-family:Microsoft YaHei;font-size:14px;">   <plugin>  
     	    <groupId>org.codehaus.cargo</groupId>  
    	    <artifactId>cargo-maven2-plugin</artifactId>  
    	    <version>1.2.4</version>  
    	    <configuration>  
    	        <container>  
    	            <containerId>tomcat7x</containerId>  
    	            <home>D:\tomcat\tomcat7</home>  
    	        </container>  
    	        <configuration>  
    	            <type>standalone</type>  
    	            <home>${project.build.directory}/target/tomcat7x</home>  
    	            <properties>  
    	                <cargo.servlet.port>8084</cargo.servlet.port>  
    	            </properties>  
    	        </configuration>  
    	    </configuration>  
    	</plugin>  </span>

           为了避免端口重复,我们设置的端口号为8084。
           如果要直接部署到现有的web容器下,需要配置cargo为existing模式,也就是修改<type>为existing,而对应的home元素表示现有的web容器目录,运行mvn cargo:start后就可以在tomcat的webapps下看到部署的maven项目啦。

    maven之一键式自动部署到tomcat,插件tomcat-maven-plugin

           此插件可以把web应用部署到tomcat下的插件,我们可以使用此插件把web应用一键式部署到一个远程的tomcat中。
           修改tomcat的用户名和密码
           访问http://localhost:8080/manager/html,在tomcat_install_dir/conf/tomcat-users.xml 中配置一个用户名和密码,  如下所示:
    <span style="font-family:Microsoft YaHei;font-size:14px;"><?xml version='1.0' encoding='utf-8'?>
    <tomcat-users>
      <role rolename="manager"/>
      <user username="admin" password="admin123" roles="manager"/>
    </tomcat-users></span>

           在pom.xml中配置代码如下:
    <span style="font-family:Microsoft YaHei;font-size:14px;"><plugin>  
                <groupId>org.codehaus.mojo</groupId>  
                <artifactId>tomcat-maven-plugin</artifactId>  
                <version>1.1</version>
                <configuration>  
                	
                    <url>http://127.0.0.1:8080/manager/text</url>  
                    <username>admin</username>  
                    <password>admin123</password>  
                    <path>/${finalName}</path>  
                    <!-- 自动删除上一次部署的war-->
                    <update>true</update>
                </configuration>  
           </plugin>  </span>

           然后启动tomcat(必须先启动tomcat, 不然会报错),执行mvn tomcat:deploy命令,引用就部署完毕。

           下一篇maven结合svn管理




    展开全文
  • 平常我们打包一般直接使用mvn ...,实际上 在maven的bin目录下可以看到一个mvn, 一个是mvnDebug 我们常用的操作比如mvn clean 如果你想调试mvnDebug clean 那么如何在两个工程中进行通信debug,java提供了一个...

    Maven支持

    平常我们打包一般直接使用mvn ...,实际上

    在maven的bin目录下可以看到一个mvn, 一个是mvnDebug

    我们常用的操作比如mvn clean

    如果你想调试mvnDebug clean

    那么如何在两个工程中进行通信debug,java提供了一个叫做Java Debug Wire Protocol (JDWP)的协议

     

    如上图,进行通信和调试和处理,当然通信这块和协议这块应该有很多细节。明白了上面的操作过程,再来配置,就十分有方向

    Step1: 启动监听

    首先,在使用maven的工程通过执行命令启动监听,例如如下:

    F:>mvnDebug saturn:zip
    Listening for transport dt_socket at address: 8000

    Step2:远程连接

    其次,在编写的maven的工程启动接收远程连接并以此运行

    启动接收远程连接的配置如下所示:

    其中关键配置是:

    -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

    应用之后会在Run中出现,Debug Remote的栏目,如下图所示:

    Step3:打断点并debug

    点击运行,会启动工程,正常情况下,8000端口已经可以被连接进来,并会中断在代码中的断点处。

    番外

    值得一提的是,我们开发maven插件都是在org.apache.maven.plugin基础上进行的,它已经帮我们完成了实际中的大部分需求,所以我们在实际开发中只需要extends AbstractMojo并实现execute()方法即可,所以我们在打断点调试的时候也需要打在execute()方法执行的路径中。举例如下:

    @Mojo(name = "run", requiresDependencyResolution = ResolutionScope.RUNTIME)
    @Execute(phase = LifecyclePhase.COMPILE)
    public class SaturnJobRunMojo extends AbstractMojo {
    
    	@Parameter(property = "namespace")
    	private String namespace;
    
    	@Parameter(property = "executorName")
    	private String executorName;
    
    	@SuppressWarnings("unchecked")
    	@Override
    	public void execute() throws MojoExecutionException, MojoFailureException {}

    参考

    https://www.cnblogs.com/turn2i/p/11823884.html

    展开全文
  • 目录依赖管理依赖的范围Maven 常用设置全局变量资源插件 依赖管理 依赖的范围 scope:表示依赖使用的范围,也就是在maven构建项目的那些阶段中起作用。 maven构建项目 编译, 测试 ,打包, 安装 ,部署 过程(阶段...

    依赖管理

    依赖的范围

    在这里插入图片描述
    scope:表示依赖使用的范围,也就是在maven构建项目的那些阶段中起作用。
    maven构建项目 编译, 测试 ,打包, 安装 ,部署 过程(阶段)

    compile :  写了这个,说明依赖在 编译, 测试 ,打包, 安装 ,部署 过程 中都会用到
    test:  只在测试中用到
    provided:      写了这个,意思是在 编译, 测试 的时候用到这个依赖,在打包, 
    安装 的时候不需要这个依赖,因为打包 安装的时候,在tomcat里面已经有这些依赖,你不需要再一次打包
    

    我们如何使用呢?

     junit的依赖范围是 test
    	<dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.11</version>
          <scope>test</scope>    表示依赖使用的范围
        </dependency>
    
    
    
    	 <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <version>3.1.0</version>          servlet.jar
          <scope>provided</scope> 提供者
        </dependency>
    

    Maven 常用设置

    全局变量

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

      maven常用操作
      1.maven的属性设置
         <properties> 设置maven的常用属性
      2.maven的全局变量
         自定义的属性,1.在<properties> 通过自定义标签声明变量(标签名就是变量名)
    	                 2.在pom.xml文件中的其它位置,使用 ${标签名} 使用变量的值
    
    	自定义全局变量一般是定义 依赖的版本号, 当你的项目中要使用多个相同的版本号,
    	先使用全局变量定义, 在使用${变量名}
    

    资源插件

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 习惯使用eclipse如何快速上手IDEA?...安装常用插件6.设置IDEA 优化JVM参数 1.前言 首先下载ideaIU-2019.3.4.win.zip包激活,打开如下: 2.修改IDEA为eclipse快捷键方式 菜单File-》Settings中搜索keymap,设置ec...

    1.前言

    首先下载ideaIU-2019.3.4.win.zip包激活,打开如下:
    在这里插入图片描述

    2.修改IDEA为eclipse快捷键方式

    菜单File-》Settings中搜索keymap,设置eclipse快捷键操作
    在这里插入图片描述
    设置快捷键为eclipse之后,就可以使用eclipse的快捷键在IDEA中操作了

    3.设置默认sdk(jdk)

    菜单 File-》Other Settings-》Structure for New Projects 选好jdk如下:
    在这里插入图片描述在这里插入图片描述

    4.设置maven仓库配置文件和地址

    菜单File-》Settings中搜索maven,设置maven仓库配置文件和地址
    在这里插入图片描述

    5.安装常用插件

    菜单File-》Settings中搜索plugins,并安装插件Free Mybatis plugin(mybatis dao方法直接定位到xml方法),JRebel(代码热部署),Maven Helper(maven依赖支持和eclipse maven依赖类似的树形结构),statistic(代码量统计),效果如下:
    在这里插入图片描述
    JRebel效果:(点击窗口左下角的窗口图标选中JRebel菜单打开勾选需要热加载的module)
    在这里插入图片描述
    Maven Helper效果:
    在这里插入图片描述
    statistic效果:(点击窗口左下角的窗口图标选中statistic菜单打开)在这里插入图片描述

    6.设置IDEA 优化JVM参数

    菜单Help-》Edit Custom VM Options 设置JVM参数如下:

    -Xms4096m
    -Xmx4096m
    -XX:MetaspaceSize=1024m 
    -XX:MaxMetaspaceSize=1024m
    -Xss256k
    -XX:MaxDirectMemorySize=100m
    -XX:ReservedCodeCacheSize=240m
    -XX:+UseConcMarkSweepGC
    -XX:SoftRefLRUPolicyMSPerMB=50
    -ea
    -XX:CICompilerCount=2
    -Dsun.io.useCanonPrefixCache=false
    -Djava.net.preferIPv4Stack=true
    -Djdk.http.auth.tunneling.disabledSchemes=""
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:-OmitStackTraceInFastThrow
    -Djdk.attach.allowAttachSelf=true
    -Dkotlinx.coroutines.debug=off
    -Djdk.module.illegalAccess.silent=true
    -javaagent:E:\soft\ideaIU-2019.3.4.win\bin\jetbrains-agent.jar
    

    参数说明:
    -Xms : 堆内存大小,第一个是最小堆内存
    -Xmx : 最大堆内存比较合适的数值是2-4g,再大就得考虑GC时间;Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;
    -XX:MetaspaceSize: 元空间初始值
    -XX:MaxMetaspaceSize: 元空间最大值,JDK8的永生代几乎可用完机器的所有内存,为了保护服务器不会因为内存占用过大无法连接,需要设置一个初始值,和最大值保护一下。
    -Xss:在堆之外,线程占用栈内存,默认每条线程为1M。存放方法调用出参入参的栈、局部变量、标量替换后的局部变量等,有人喜欢设小点节约内存开更多线程。但反正内存够也就不必要设小,有人喜欢再设大点,特别是有JSON解析之类的递归调用时不能设太小。
    -XX:MaxDirectMemorySize:堆外内存/直接内存的大小,默认为堆内存减去一个Survivor区的大小。
    -XX:ReservedCodeCacheSize:JIT编译后二进制代码的存放区,满了之后就不再编译。默认开多层编译240M,可以在JMX里看看CodeCache的大小。
    -XX:+UseConcMarkSweepGC:启用CMS垃圾收集器
    -XX:SoftRefLRUPolicyMSPerMB: 这个参数比较有用的,官方解释:Soft reference在虚拟机中比在客户机中存活的更长一些。其清除频率可以用命令行参数 -XX:SoftRefLRUPolicyMSPerMB=来控制,这可以指定每兆堆空闲空间的 soft reference 保持存活的毫秒数,这意味着每兆堆中的空闲空间中的 soft reference 会(在最后一个强引用被回收之后)存活1秒钟。注意,这是一个近似的值,因为 soft reference 只会在垃圾回收时才会被清除,而垃圾回收并不总在发生。默认为50秒,
    大家可以调小点。
    -ea[:<package name>"…" |:<class name> ]
    上述参数就用来设置jvm是否启动断言机制(从JDK 1.4开始支持),缺省时jvm关闭断言机制。
    用-ea 可打开断言机制,不加和classname时运行所有包和类中的断言,如果希望只运行某些包或类中的断言,可将包名或类名加到-ea之后。例如要启动包com.wombat.fruitbat中的断言,可用命令java -ea:com.wombat.fruitbat…。
    useCanonCaches:使用标准IO缓存
    优先使用IPv4栈
    HeapDumpOnOutOfMemoryError:堆内存溢出输出
    OmitStackTraceInFastThrow:开启追踪

    根据个人电脑配置可以调节jvm参数大小

    展开全文
  • maven常用配置 安装好之后,如下图操作: 1.新建maven 项目 2 下一步,不要勾选create asimple project,这个是普通项目 3.在filter中输入webapp,选中如图所示的,第二个类型 4.点击NEXT ,输入对应信息即可...
  • 文章目录常用命令用户属性Properties的使用生命周期maven中生命周期详解clean生命周期default生命周期site生命周期mvn命令和生命周期Maven插件插件目标目标参数列出插件所有目标:查看插件目标参数列表命令行运行插件...
  • 如上图标注 1 所示,为常用Maven 工具栏,其中最常用的有: 第一个按钮:Reimport All Maven Projects 表示根据 pom.xml 重新载入项目。一般单我们在 pom.xml 添加了依赖包或是插件的时候,发现标注 4 的...
  • 本文主要介绍如何使用Maven插件将SpringBoot应用打包为Docker镜像,并上传到私有镜像仓库Docker Registry的过程。1.搭建私有仓库2.Docker开启远程API(配置远程访问)3.maven中添加插件4.构建docker并推送到私有仓库...
  • 文章目录是什么能解决什么问题如何安装仓库Maven标准目录结构maven常用命令maven生命周期maven概念模型图idea操作maven集成maven插件使用骨架创建maven的java工程 是什么 能解决什么问题 依赖管理 一键...
  • Maven实战

    千人学习 2020-04-07 16:52:58
    Maven实战,讲述了如何下载安装Maven,Maven的生命周期,POM文件,继承,聚合,Maven仓库,Maven插件maven常用命令,项目依赖和依赖传递,使用Maven创建各种项目。
  • 其实这个问题不止在通过DbUnit的Maven插件操作数据库时会遇到,在基于DbUni进行单元测试时也会遇到,一般的处理方法是在每次获取连接时前执行一个"set @@session.foreign_key_checks = 0"的statement,以...
  • 支持方便地配置常用插件,例如注释生成,Lombok,招摇等。 介绍使用某些配置或插件的好处 尝试找到适合不同情况的最佳配置 内容 环境要求 确保已安装Java8和IDE(例如Intellij Idea和Eclipse) 项目中使用Maven ...
  • 使用Maven开发Java项目

    2009-11-25 14:19:00
    本文并不是关于maven如何使用的详细介绍,而只是在实际项目开发中的一些常用活动以及相关插件的使用总结,如果你对于maven尚不了解,可以先在官方网站[Maven'site]逛逛,如果你想进一步学习,可以到这里...
  • 目录:PageHelper简介使用maven引入相关的jar配置PageHelper方言编写业务逻辑代码PageInfo类中几个常用属性的注释一. PageHelper简介PageHelper是Github上开源的MyBatis分页插件使用起来非常的简单,方便,并且...
  • Maven(二)

    2019-11-04 21:20:26
    文章目录mavenMaven的配置:如何创建maven工程使用tomcat插件运行Maven常用的指令依赖的排除依赖的原则:同一版本配置:聚合工程 maven maven: 什么是maven: 项目开发过程中: 物流 医疗 电力 通信….需求(项目的...
  • 之前给大家推荐了一些我自己常用的VS Code插件,很多同学表示很受用,并私信我说...在最开始,我还是想先介绍一下IDEA中如何安装插件,首先打开Preferences(菜单栏打开或者使用快捷键Command+,)在Windows版本中应该...
  • 为什么使用Maven3.Maven介绍3.1 POM3.2约定的目录结构3.3坐标3.4依赖管理3.5仓库管理3.5.1分类3.5.2 仓库中的内容3.6生命周期3.7插件和目标3.8继承3.8.1创建父工程3.8.2在子工程中旅引入父工程3.8.3在父工程中管理...
  • 目录:PageHelper简介使用maven引入相关的jar配置PageHelper方言编写业务逻辑代码PageInfo类中几个常用属性的注释一. PageHelper简介PageHelper是Github上开源的MyBatis分页插件使用起来非常的简单,方便,并且...
  • 重要知识点介绍: 1、 什么是Maven ...5、 生命周期和常用插件(重难点) 6、构建Profile和项目移植 7、搭建私服(了解)   什么是Maven Maven是一个项目管理工具,它包含了一个项目对
  • 构建工具:maven简介

    2013-10-16 15:36:59
    附件是对maven的简单介绍,侧重于如何使用maven和几个常用插件的介绍。 更多关于maven的内容请阅读: maven官网: [url]http://maven.apache.org/index.html[/url] Ant与Maven的区别: [url]...
  • maven 打包排除指定文件

    万次阅读 2015-10-16 13:57:51
    当我还不知道Maven本质上其实只是一个插件框架,当我还不知道maven有生命周期的概念,不知道maven的生命周期是抽象的,更不知道maven的每一个构建任务是如何工作的(比如编译、打包)。maven使用对我来说真是有...
  • 目录 ResultMap和ResultType的...分页插件pagehelper如何使用? 当实体类的属性名和表中的字段名不一致怎么办?有几种解决办法? 什么是maven本地仓库?Maven到底有哪些仓库?他们什么关系? Maven的生命周...
  • 2.3 DockerMaven插件 Maven插件自动部署步骤: 1 Dockerfile 1.1 什么是Dockerfile Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。 1、对于开发人员:可以为开发...
  • GoodProject Maven Webapp.zip

    2019-05-12 14:06:27
    jQuery EasyUI是基于JQuery的一个前台ui界面的插件,功能相对没extjs强大,但页面也是相当好看的,同时页面支持各种themes以满足使用者对于页面不同风格的喜好。一些功能也足够开发者使用,相对于extjs更轻量。 ...
  • IDEA常用操作文档集合

    2018-09-19 14:21:13
    IDEA常用操作文档集合,包括:常用快捷键、导入Jar包快捷键、如何使用Maven打包部署项目、使用Maven打jar包、安装Scala插件、使用Git等等。
  • 由于使用maven2的官方仓库未免有些jar包或者插件是没有办法下载到的,这时候就需要多个仓库了,如何配置多个仓库呢?在settings.xml中有一个profiles标签,使用该标签可以把远程的仓库作为一个全局仓库来使用, 常用的...
  • 内置常用插件,比如分页插件 支持OverSSH 方式,通过SSH隧道连接至公司内网访问数据库 把数据库中表列的注释生成为Java实体的注释,生成的实体清晰明了 可选的去除掉对版本管理不友好的注释,这样新增或删除字段重新...

空空如也

空空如也

1 2 3 4
收藏数 67
精华内容 26
关键字:

maven常用插件如何使用