Intellij-idea 如何编译maven工程

Posted twoheads

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Intellij-idea 如何编译maven工程相关的知识,希望对你有一定的参考价值。

 

 

小编最近效应项目的要求,学习在idea上编写项目。作为一个新手遇到问题也算是正常的,重要的是把它解决,get新技能。

 

     编写过maven工程的小伙伴们应该都知道怎么在eclipse中编译maven工程:右键工程--> run as -->maven install。简单明了。

 

     但是在idea上maven工程有自己的窗口,而且窗口中的maven项目的目录与project窗口中的目录不一样。小编在这里就分享一下自己的经验。

 

    1、打开maven项目窗口:工具栏-->Help-->Find Action,在弹出的窗口里的文本框输入:maven projects

  

   2、在打开的maven project窗口中,点击YourProject->Lifecycle->package->Run Maven Build执行打包,生成的war默认在工程的target目录下。

    

 

IDEA如何执行maven命令

在IDEA主界面左下角找到 Terminal 点击进入,直接输入想执行的命令即可。 
这里写图片描述

Exec Maven Plugin全面解析和使用示例

1.为什么使用exec?


现在的工程往往依赖 众多的jar包,不像war包工程,对于那些打包成jar包形式的本地java应用来说,通过java命令启动将会是一件极为繁琐的事情,原因很简单,太 多的依赖让参数-classpath变得异常的恐怖。为此,在发布应用时,一般使用两种方法来启动应用程序:一种是通过工具将工程及其所有依赖的jar包 打包成一个独立的jar包(在maven里有两个插件assemly和shade是用来完成这种工作的);另一种方法是编写一个run.bat文件,文件 包含一个启动应用的java命令,很显然,这个命令的classpath必须包含全部依赖的jar包。但是对于尚处在开发阶段的应用来说,第一种方法需要 将所有jar包解压再重新打包,因此非常耗时,特别是工程非常大的时候。第二种方法的问题在于,对处在开发阶段的工程,经常需要引入或升级jar包,这就 需要频繁地修改run.bat文件。实际上,对于使用maven管理的工程,完全可以通过maven来获取工程的classpath,简化应用程序的启动 命令,这正是maven插件exec被设计出来的主要动机。使用exec比使用java命令去启动应用程序最大的优势就在于:你不需要再去为-classpath而伤脑筋了。

2. exec:execexec:java的区别

exec 主要由两个goal组成:exec:exec和exec:java。你应该如何选择呢?首先,你需要记住,exec:exec总是比exec:java强 大而灵活,这一点会在后面的示例中体现出来,除此之外,两者的主要区别是在线程管理上:exec:exec总是启动一个新的线程,并且在只剩下守护线程的 时候从VM上退出(关闭应用程序)。而对于exec:java,当所有非守护线程结束时,守护线程会被joine或interrupt,应该程序不会关 闭。但是对于一般的使用者来说,这种差别并不重要。对于两者的选择,一般来说,如果你的工程启动非常简单,不需要设置jvm参数、系统属性、命令行参数, 那么就用exec:java,你只需要指定一下mainClass,一切就OK了。

 


---------------------

以上是关于Intellij-idea 如何编译maven工程的主要内容,如果未能解决你的问题,请参考以下文章

maven工程编译并生成可执行JAR包命令

记一次Intellij-IDEA配置JDK1.8,支持Lambda新特性

IDEA 13 新建grails工程之后并没有配置grails相关配置怎么弄?

我想在maven工程编译的时候,将所需要的jar包都导入到lib文件夹下,希望高手帮忙解决。

如何配置pom.xml用maven打包java工程

java eclipse导入Maven工程 java环境一切已设置好,发现问题maven不编译而且弹出框内容如下: