精华内容
下载资源
问答
  • 从别处拷贝来的maven项目,...可以在cmd命令窗口下进入到maven项目包含pom.xml文件的目录下,运行 mvn eclipse:eclipse 命令即可,如果还不行,可使用mvn compile :编译源代码 命令。下面是一些maven的常用命令:Ma...

    从别处拷贝来的maven项目,有时候会出现不能debug关联的情况,即按住ctrl键后不能跳转到相应的类或方法,这是需要eclipse环境生成 Eclipse 项目文件的。

    可以在cmd命令窗口下进入到maven项目包含pom.xml文件的目录下,运行 mvn eclipse:eclipse 命令即可,如果还不行,可使用mvn compile :编译源代码 命令。

    下面是一些maven的常用命令:

    Maven2 的运行命令为 : mvn ,

    常用命令为 :

    mvn archetype:create :创建 Maven 项目

    mvn compile :编译源代码

    mvn clean compile : 可以清除后再编译

    mvn test-compile :编译测试代码

    mvn test : 运行应用程序中的单元测试

    mvn site : 生成项目相关信息的网站

    mvn clean :清除目标目录中的生成结果

    mvn package : 依据项目生成 jar 文件

    mvn install :在本地 Repository 中安装 jar

    mvn eclipse:eclipse :生成 Eclipse 项目文件

    生成项目

    建一个 JAVA 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=App

    建一个 web 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp

    生成 Eclipse 项目

    普通 Eclipse 项目执行 : mvn eclipse:eclipse

    Eclipse WTP 项目执行 : mvn eclipse:eclipse –Dwtpversion=1.0

    展开全文
  • Maven 项目同 MyEclipse 或其他工具产生的项目一样,有自己的目录结构和特殊的意义。比如一般有如下目录。src\main\java,用来存放项目的 Java 源代码。src\main\resources,用来存放项目相关的资源文件(比如配置...

    Maven 项目同 MyEclipse 或其他工具产生的项目一样,有自己的目录结构和特殊的意义。

    比如一般有如下目录。

    src\main\java,用来存放项目的 Java 源代码。

    src\main\resources,用来存放项目相关的资源文件(比如配置文件)。

    src\test\java,用来存放项目的测试 Java 源代码。

    src\test\resource,用来存放运行测试代码时所依赖的资源文件。

    当然,还有一个 pom.xml 文件,该文件配置 Maven 管理的所有内容。

    这里可以按 Maven 的要求,自动创建目录结构,按 Maven 的要求添加项目相关的配置文件,这样确实可以实现,但是很烦琐。已经有人用代码将这些要做的事情全都封装实现了,如同在 MyEclipse 中创建工程的那种图形化导向页面一样(这种效果到使用 MyEclipse+Maven 的时候体现),只要按它的步骤输入信息和命令,完成后自动产生项目架构。

    这里简单介绍一下有关的命令和信息。

    1)命令。命令很简单,就是创建项目的命令 create。

    人们把要调用哪个软件的 create 命令创建项目叫插件(plugin)。创建项目的插件叫 Archetype 插件(archetype-plugin)。

    2)信息。和项目相关的信息包括 groupId(组 Id)、artifactId(构件 Id)、packageName(包名)、version(版本)。

    其实 packageName 和 version 好理解。程序员写的类,肯定要放在一个标准包下或标准包的子包下,packageName 指标准包;version 是当前代码的版本号。

    这里的 groupId 和 artifactId 同部门名称和组名称一样,用来唯一确定一个项目(软件、功能)。有些地方会把这两个描述的信息合起来叫“坐标”。

    用命令产生项目的方式有两种。

    使用命令向导一步步创建项目

    1)在硬盘上创建一个空的目录,用来存放Maven项目,如E:\temp\demoMaven。

    2)打开 CMD 窗口,用 cd 命令,切换到 demoMaven 目录,如图 1 所示。

    7a8a93b26d53b7be889000c8c4b75efd.png

    图 1  Maven项目目录(1)

    3)在 CMD 窗口中输入“mvn archetype:generate”,按 Enter 键。

    联网初始化一段时间后(一般不少于 5 分钟),会一步步提示输入 groupId、artifactId、version、packageName 等信息。最后创建成功,而且可以在 E:\temp\demoMaven 空目录下发现一个同 artifactId 一样的目录,这就是创建的项目目录。

    在命令中输入所有必要信息直接创建项目

    1)在硬盘上创建一个空的目录,用来存放 Maven 项目,如 E:\temp\demoMaven。

    2)打开 CMD 窗口,用 cd 命令,切换到 demoMaven 目录,如图 1 所示。

    3)在 CMD 窗口中输入如下命令并按 Enter 键。

    mvn org.apache.maven.plugins:maven-archetype-plugin:2.2:creat

    -DgroupId=com.mengma.demo

    -DartifactId=HelloWorld

    -DpackageName=com.mengma.demo

    注:

    org.apache.maven.plugins:maven-archetype-plugin:2.2,指使用 groupId 为 org.apache.maven.plugins,artifactId 为 maven-archetype-plugin,版本为 2.2 的 Archetype插件。

    -DgroupId=cn.com.mvnbook.demo,指定要创建的工程的 groupId。

    -DartifactId=MVNBookTP01,指定工程的 artifactId。

    -DpackageName=cn.com.mvnbook.demo.tp01,指定工程代码的标准包。

    Maven 执行命令的时候,会在本地寻找是否有指定版本的 Archetype 插件,如果没有,就需要联网下载。最后显示的正常状态如图 2 所示。

    3b4f25442041de27cf4f0a3c62499081.png

    图 2  Maven 创建项目提示

    同时,它会在 demoMaven 目录下创建一个新的 HelloWorld 目录。到这里,就可以使用 Archetype 插件创建第一个工程的架构了。

    添加样例代码

    为了完成体验,需要写两个代码:一个是 HelloWorld.java,放在 src\main\java 目录下;另一个是 TestHelloWorld.java,用来体现测试,放在 src\test\java 目录下。下面介绍它们的内容。

    HelloWorld.java 代码如下所示:

    package com.mengma.demo.mvn;

    /**

    * 这是为了研究Maven,写的第一个Java代码 功能很简单,输出一个HelloWorld的问候

    *

    * @ author Noble

    * @ version 1.0

    */

    public class HelloWorld {

    /**

    * 输出问候

    * @ param name String,说话人名称

    * @ return String 格式是:xxx say HelloWorld

    **/

    public String say(String name) {

    return name + " say HelloWorld";

    }

    }

    TestHelloWorld.java 代码如下所示:

    package com.mengma.demo.mvn;

    import junit.framework.Assert;

    import org.junit.After;

    import org.junit.Before;

    import org.junit.Test;

    public class TestHelloWorld {

    private HelloWorld hello;

    @Before

    public void init() {

    hello = new HelloWorld();

    }

    @Test

    public void testSay() {

    String name = "张三";

    String exp = "张三" + "say HelloWorld";

    String act = hello.say(name);

    Assert.assertEquals(exp, act);

    }

    @After

    public void destory() {

    hello = null;

    }

    }

    编写 Maven 骨架文件

    代码写好了,接下来要通过配置文件让 Maven 管理。这时要用到 pom.xml,即骨架文件。该文件在创建工程时会在工程目录下自动生成 pom.xml。

    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">

    4.0.0

    com.mengma.demo

    HelloWorld

    0.0.1-SNAPSHOT

    jar

    HelloWorld

    http://maven.apache.org

    UTF-8

    junit

    junit

    4.7

    test

    注:

    创建工程时指定的 groupId。

    创建工程时指定的 artifactId。

    当前工程的版本。

    工程编译好后,打成 jar 包安装发布。

    测试时需要依赖的 JUnit 的 groupId。

    测试时需要依赖的 JUnit 的 artifactId。

    测试时需要依赖的 JUnit 的版本。

    指定测试依赖的作用范围是测试。

    编译和测试

    打开 CMD 窗口,操作步骤如下所示:

    将目录切换到工程目录下(HelloWorld)。

    输入“mvn clean”,按 Enter 键清空以前编译安装过的历史结果。

    输入“mvn compile”,按 Enter 键编译源代码。

    输入“mvn test”,按 Enter 键运行测试案例进行测试。

    输入“mvn install”,按 Enter 键,将当前代码打成 jar 包,安装到 Maven 的本地管理目录下,其他 Maven 工程只要指定坐标就可以使用。

    到现在为止,编码的操作就完成了,包括工程的创建、源代码的编写、单元测试代码的编写、代码的编译、测试案例的运行以及最后的打包。

    展开全文
  • struts2源码分析,首先...因此在编译struts2源码前,首先要确保你安装了maven环境,不会安装maven的请看这篇文章:在windows下安装maven。1、下载struts2源码包到struts2官网下载struts2的源码包,我下载的是struts...

    struts2源码分析,首先就是要下载struts2的源码包,如果要方便研究,肯定是生成eclipse项目的形式更方便。struts2是采用maven编译和管理代码的。因此在编译struts2源码前,首先要确保你安装了maven环境,不会安装maven的请看这篇文章:在windows下安装maven。

    1、下载struts2源码包

    到struts2官网下载struts2的源码包,我下载的是struts-2.3.24.1-all,下载完后解压,比如我把struts-2.3.24.1-all.zip解压到G:\struts-2.3.24.1-all下。

    2、用maven编译struts2源码为eclipse项目

    cd到struts2的src目录下,src的目录为:G:\struts-2.3.24.1-all\struts-2.3.24.1\src。并在cmd窗口输入以下命令:mvn eclipse:eclipse

    会提示找不到bom、bundles和archetypes,具体错误提示如下:[ERROR] [ERROR] Some problems were encountered while processing the POMs:

    [ERROR] Child module G:\struts-2.3.24.1-all\struts-2.3.24.1\src\bom of G:\struts-2.3.24.1-all\struts-2.3.24.1\src\pom.xml does not exist @

    [ERROR] Child module G:\struts-2.3.24.1-all\struts-2.3.24.1\src\bundles of G:\struts-2.3.24.1-all\struts-2.3.24.1\src\pom.xml does not exist @

    [ERROR] Child module G:\struts-2.3.24.1-all\struts-2.3.24.1\src\archetypes of G:\struts-2.3.24.1-all\struts-2.3.24.1\src\pom.xml does not exist @

    此时,修改G:\struts-2.3.24.1-all\struts-2.3.24.1\src下的pom.xml文件,把modules下的bom、bundles和archetypes注释掉即可。

    xwork-core

    core

    apps

    plugins

    注释完之后,再次在cmd下输入mvn eclipse:eclipse命令。会提示找不到jboss-blank,此时,修改G:\struts-2.3.24.1-all\struts-2.3.24.1\src\apps下的pom.xml文件,把modules下的jboss-blank注释掉即可。

    blank

    mailreader

    portlet

    showcase

    rest-showcase

    注释完之后,再次在cmd下执行mvn eclipse:eclipse命令。经过一段时间的编译之后,struts2项目终于编译成功啦。struts2项目的编译时间长短和你的电脑配置和当前网速有关。请耐心等待哦~

    b25312e559ebc84859cabd6ddaa27b22.png

    3、把struts2源码导入eclipse

    eclipse导入strut2源码就很简单了,我这就不详细说明了,下图展示了struts2源码导入eclipse的项目结构。项目很多,我只截取了一小部分。

    ba134fc6b516aa1681df64a64fe0b9b4.png

    展开全文
  • 通常,可以命令Maven分析您的项目(包括依赖关系图),并在可能的情况下并行构建项目。可以指定用于构建项目的确切线程数,也可以使用参数的可移植版本,并根据计算机上可用的CPU来指定线程数。 mvn -T 4 install -...

    作为java开发都有这样的体会:打包一个项目需要等很久。今天我们就研究一下如何提升mvn的编译速度。

    1)Parallel Builds in Maven:

    默认Maven不使用硬件的全部功能,它顺序地构建所有模块。通常,可以命令Maven分析您的项目(包括依赖关系图),并在可能的情况下并行构建项目。可以指定用于构建项目的确切线程数,也可以使用参数的可移植版本,并根据计算机上可用的CPU来指定线程数。

    • mvn -T 4 install -- will use 4 threads
    • mvn -T 1C install -- will use 1 thread per available CPU core

    尽管您的项目可能难以并行构建,但值得尝试。每个CPU内核使用一个线程是一个很好的默认设置。您的开发机器可能具有备用的计算能力,加快构建过程始终很有用。

    2)Build Necessary Modules Only:

    假设有一个多模块项目,该项目包含很少更改的通用核心模块,以及当前正在使用的网络界面。更改Web界面模块后,请尝试运行如下命令:mvn install -pl $moduleName -am

    • -pl - makes Maven build only specified modules and not the whole project.
    • -am - 使Maven找出目标模块所依赖的模块并进行构建

    一起使用这些选项的结果是灵活性和速度的完美结合。我们知道我们通常在使用哪个模块,并且如果我们更改了任何依赖关系,它们也会被更新。同时,您的项目构建中的很大一部分将被跳过,要么是因为它仍然是最新的并且不需要重建,要么是因为它不是目标模块的一部分,并且不会发挥作用。

    3)限制上网:

    所有构建系统(npm,gradle和sbt)都会联网下载一些内容。可以启用一个简单的选项,使Maven脱机工作。启用脱机模式后,Maven在解决依赖关系时将不会连接到任何远程存储库。本地存储库中的所有jar文件仍将可用,因此不会破坏您通常的工作流程。因此,只需在您的mvn命令后加上--offline,Maven就不会试图检查您最喜欢的依赖项的新快照,也不会让您等待网络响应。

    如果您不希望它脱机,但拥有不可靠的网络连接,则可以尝试设置:-DdependencyLocationsEnabled = false为MAVEN_OPTS变量。这种增加意味着Maven将在整个构建过程中保留较少的传出连接,并且可能还会缩短构建过程的几秒钟。

    4)提高java启动速度:

    Maven是一个Java程序,可以调整使JVM的启动速度更快(考虑到我们不会处理长时间运行的应用程序服务器进程,为了确保以后的更快执行速度,这是安全的,我们可以为您推荐以下两个选项)

    -XX:+TieredCompilation -XX:TieredStopAtLevel=1

    我们只是让您的JVM仅执行代码的基本即时编译。它不会尝试收集更精确的配置文件并更好地优化代码的执行。这样做的好处是,JIT不需要那么多信息,并且经过优化的代码实际上有机会在构建之后就开始使用。请注意,该建议仅是理论上的建议,如果您可以尝试并提出您的项目是否能从中受益,我将非常高兴。

    总结:

    MAVEN_OPTS= -XX:+TieredCompilation -XX:TieredStopAtLevel=1
    mvn -T 1C install -pl $moduleName -am --offline

    它将剥夺Maven烦人的下载互联网的权利,仅构建必要的模块及其依赖项,同时将JVM调整为运行速度更快,运行时间更短的程序,并且不会无休止地清理整个项目。

    参考:https://www.jrebel.com/blog/how-to-speed-up-your-maven-build

    展开全文
  • 记下自己使用maven时的一点小心得: ...2. mvn package可以将pom.xml中标注的依赖jar包下载到maven本地库中,但是不能自动发布到自己的web项目  解决方案:  在自己的java web工程根目录(pom.xml所在目录下):  mvn
  • 安装fortify-maven插件 首先在fortify SCA的安装目录下找到maven插件,D:\Fortify_SCA_and_Apps_16.20\plugins\maven\maven-plugin-bin ...注:install脚本中的三条命令就是将fortify编译打包安装的一个过程, 其...
  • 随着项目的复杂程度的增加,一个项目中需要依赖的外部系统也在逐渐增多,在构建大的项目时,需要大内存的支持,此时Maven可能会报内存溢出(OutOfMemory)的异常,运行mvn命令实际上是执行了java命令,因为java默认的...
  • 接下来就以一个helloworld的例子来说一说如何创建maven项目以及maven项目项目结构,最后讲maven如何编译运行项目。创建Maven项目其实所谓创建Maven项目,说白了就是创建一个符合Maven约定的项目骨架,也就是项目...
  • 我有一个我在Jenkins上运行的maven项目项目包含项目根目录下资源文件夹中的config.properties文件。有时当我编译&运行该项目,我收到一个错误:Exception: java.io.FileNotFoundException: property file '...
  • 手下在项目的根目录下打包编译 mvn clean package -DskipTests=true 二.执行上传到mvn仓库的命令如下 mvn install:install-file -Dfile=/Users/fish/ippaoject/ipdatabase/target/ipdatabase-1.0-SNAPSHOT.jar -...
  • Maven 是 Apache 软件基金会的一个开源的项目管理工具,它用来帮助开发者管理项目中的 jar,以及 jar 之间的依赖关系、完成项目编译、测试、打包和发布等工作。 2.Maven中的概念 2.1Pom(Project Object Model)项目...
  • 1.下载dubbo-2.8.4.jar 下载地址: ... 下载后解压; 2.用maven编译下载的文件 执行命令:mvn install -f E:\StuWork\Util\dubbo\dubbox-dubbox-2.8.4\pom.xml -D maven.te...
  • 使用命令 mvn –Dwtpversion=1.0 eclipse:eclipse 之后,导入的项目 Project Facet 的 java 还是 1.4 ,而当前使用的 Eclipse 上的设置是高于1.4版本,此时可以通过设置pom插件来完成: 如:配置JDK5.0编译java代码...
  • Maven对ssh项目的拆分、聚合与调试

    千次阅读 2017-06-05 20:20:33
    Maven的最主要的优点是依赖管理(管理Jar包)和一键构建(一个命令完成编译、测试、运行、打包、部署、运行)。本文我们主要来实验一把如何通过Maven对一个原有的基于SSH的普通项目进行拆分和聚合,改变为一个Maven...
  • 你的 maven 如何使用

    2018-06-09 18:27:00
    maven把你从痛苦的找包中解脱,...maven让你可以随意增加删除项目的功能模块而不用修改代码--功能二 命令项目构建 什么是构建? 指的是项目的清理(清理class)-----编译-----测试-----运行-----打包-----安装...
  • -Dmaven.test.skip=true命令会让maven打包的时候不执行测试用例也不编译测试用例 https://www.cnblogs.com/wendelhuang/p/6837105.html 这个有格式: 发现自己的maven程序在执行 mvn clean package mvn package -...
  • Maven项目打包测试时如何跳过测试类

    千次阅读 2017-08-14 11:44:47
    maven项目打包发布时,如果测试类中有我们的测试代码,那么在执行install命令的时候有可能会出错!因为打包的时候maven默认会将测试用例一起编译编译不通过就报错!可以通过以下两种方法可以在发布的时候跳过测试...
  • package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库。 install命令完成了项目编译、单元测试、打包功能,同时把打好的可...
  • 而pom.xml主要描述了项目maven坐标,依赖关系以及其他所有的项目相关因素,是项目级别的配置文件。 mvn clean 清空产生的项目( target里) mvn compile 编译源代码 mvn package 打包 mvn test 运行测
  • maven项目打包发布时,如果测试类中有我们的测试代码,那么在执行install命令的时候有可能会出错!因为打包的时候maven默认会将测试用例一起编译编译不通过就报错!可以通过以下两种方法可以在发布的时候跳过测试...
  • Maven如何引入第三方jar包

    千次阅读 2018-01-31 15:33:19
    当有些jar包不在maven仓库中时,可以把jar包放到项目的某个路径下,比如新建个lib文件夹,/src/main/lib ,然后通过build path 加入编译环境。 但使用maven命令直接打成war包时,第三方jar并不会被包含进war包,...
  • 目录一,maven快速入门1.环境搭建1.2.配置环境变量:2. 新建maven项目2.1编写...这是对项目进行编译2.5测试是否ok2. 6打包项目的方法,cd到文件根目录中 输入: mvn package二,maven核心知识1. 常用的构建命令1. 2 自
  • 项目管理工具之maven

    2019-05-18 15:12:00
    maven如何找到jar包 举例:struts2-core-2.3.24.jar Apache(公司名称)+ struts2(项目名称)+ 2.3.24(版本信息) maven的常用命令 clean:将根目录下的target目录清除 compile:编译 test:单元测试 单元测试...
  • maven

    2020-03-24 12:58:06
    Maven是通过pom.xml来执行任务的,其中的build标签描述了如何编译及打包项目,而具体的编译和打包工作是通过build中配置的 plugin 来完成。当然plugin配置不是必须的,默认情况下,Maven 会绑定以下几个插件来完成...
  • MAVEN01_概述+核心概念+IDEA中如何使用(创建项目)

    千次阅读 多人点赞 2020-12-25 10:51:36
    指的是项目编译、测试、运行、打包、安装 ,部署整个过程都交给 maven 进行管理,这个过程称为构建 一键构建指的是整个构建过程,使用 maven 一个命令可以轻松完成整个工作 ②. maven的安装
  • 我们使用maven构建应用环境,因此我们先来简单...构建工程师和项目经理会说Maven是一个更复杂 的东西:一个项目管理工具。那么区别是什么? 像Ant这样的构建工具仅仅是关注预处理,编译,打包,测试和分发,而 Mave...
  • Maven

    2017-10-30 22:11:13
    Maven是Apache公司的一个开源项目,‘是项目构建工具,用来依赖管理 1.Maven的好处 ...2)项目构建:项目在编码完成后,对项目进行编译·测试·打包·部署等一系列的操作都通过命令来实现 3
  • Bug1:本地pull了总分支后...2.在repository下的common文件夹中找到以项目名命名的文件夹然后删除,之后再IDEA里执行更新命令 Bug2:部署编译失败 通过如下命令行将远端仓库的jar包同步到本地 mvn clean install -Dmave
  • 现在,您可以运行mvn clean install并且Maven编译您的项目,并将结果放入target目录中的两个jar文件中。 如果您希望从命令行运行,请执行java -jar target/javaparser-maven-sample-1.0-SNAPSHOT-shaded.jar 。 ...
  • ##Maven Maven的两大核心: *是一款项目管理工具 依赖管理:就是对jar包统一管理的过程 坐标:作为jar包,如何给出坐标。...2.项目构建:项目在编码完成后,对项目进行编译,测试,打包,部署 maven

空空如也

空空如也

1 2 3 4 5
收藏数 87
精华内容 34
关键字:

maven如何编译项目命令