`
frank-liu
  • 浏览: 1682391 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Maven学习总结:几个常用的maven插件

 
阅读更多

简介

    我们使用maven做一些日常的工作开发的时候,无非是想利用这个工具带来的一些便利。比如它带来的依赖管理,方便我们打包和部署运行。这里几个常见的插件就是和这些工程中常用的步骤相关。

 

maven-compile-plugin

    这个插件就如同名字所显示的这样,用来编译源代码的。最开始碰到这个插件是在于有的时候我们下载了一些工程需要编译的时候,比如我们输入命令:mvn install ,但是系统编译的时候报错了,错误的信息如下:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project springJMS: Compilation failure: Compilation failure:
[ERROR] /home/frank/programcode/SpringJMSSample/src/main/java/huangbowen/net/jms/MessageSender.java:[6,1] error: annotations are not supported in -source 1.3
[ERROR] 
[ERROR] (use -source 5 or higher to enable annotations)
[ERROR] /home/frank/programcode/SpringJMSSample/src/main/java/net/EmbedBrokerApp.java:[5,7] error: static import declarations are not supported in -source 1.3
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

    从错误显示的信息我们就可以看出,这是因为编译的时候是默认用的javac 1.3版本的,太老了不支持代码里的特性。为了修改这个问题,我们需要设置编译器的版本。解决这个问题的办法也比较简单,就是直接在后面的插件部分增加如下的插件,比如如下部分,将编译器的版本设定为1.6:

 

<build>
	  <plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>2.3.2</version>
			<configuration>
				<source>1.6</source>
				<target>1.6</target>
			</configuration>
		</plugin>
	  </plugins>
	</build>

 

exec-maven-plugin

    我们写一些java console相关的程序时,比较头疼的一点就是真正要通过命令行将打包后的程序执行起来还是比较麻烦的。我们需要在命令行里敲如下的命令:java -cp ***.jar:**.jar:/**/ 。因为要将classpath目录以及引用的类库都加入进来,并指定运行的入口,这样子每次用手工的方式来处理实在是太繁琐也比较容易出错。所以一种办法就是利用这个插件,通过一些基本的配置,我们可以执行起代码来的时候很方便。一个典型的配置如下:

 

<plugin>
			  <groupId>org.codehaus.mojo</groupId>
			  <artifactId>exec-maven-plugin</artifactId>
			  <version>1.2.1</version>
			  <executions>
			    <execution>
			      <goals>
			        <goal>java</goal>
			      </goals>
			    </execution>
			  </executions>
			  <configuration>
			    <mainClass>com.yunzero.App</mainClass>
			  </configuration>
			</plugin>

   如果我们运行的时候需要提供一些输入的参数,也可以通过configuration的元素里添加。这样后续要执行这个程序时,我们只需要在命令行执行如下命令:mvn exec:java ,然后程序就可以运行起来了。

 

maven-dependency-plugin

 

  还有一个比较常用的插件就是这个。我们在IDE的环境里编译和执行代码的时候,那是直接引用一些类库。但是在我们实际部署的环境里,那边很可能就一个java执行环境,不可能有源代码和IDE。这个时候,我们需要将源代码编译打包。这个时候的一个问题就是如果我们引用的库很多的话,我们希望能够把他们统一打包到一个目录下,比如lib文件夹。这样部署执行的时候只需要将编译生成的程序jar包和依赖包文件夹拷到特定目录去执行。要实现这个效果也比较容易:

<plugin> 
	<artifactId>maven-dependency-plugin</artifactId> 
	    <executions> 
		<execution> 
			<phase>install</phase> 
			<goals> 
				<goal>copy-dependencies</goal> 
			</goals> 
			<configuration> 
				<outputDirectory>${project.build.directory}/lib</outputDirectory> 
			</configuration> 
		</execution> 
	</executions> 
</plugin>

     从前面的配置里我们可以看到,插件的执行被配置到install这个阶段。这样,当我们执行命令:mvn clean install 的时候,会发现对应的target目录里生成了对应的jar包和依赖包。

 

分享到:
评论

相关推荐

    Maven_学习总结_全

    针对对初学者使用maven的遇到的问题的一些讲解 和学习的总结

    自定义maven插件:自动生成API的word文档源代码

    使用自定义Maven插件生成API文档有以下几个显著优点: - **自动化**:减少了手动编写文档的时间,提高了开发效率。 - **一致性**:通过模板保证了文档的格式统一,提升了专业度。 - **易维护**:当接口或参数发生...

    eclipse安装的maven插件

    安装Maven插件的过程通常分为以下几步: 1. **下载Maven**:首先,你需要从Apache官方网站(https://maven.apache.org/download.cgi)下载最新版的Maven。解压下载的文件到你选择的目录。 2. **配置环境变量**:将...

    安装Jenkins的git和maven插件

    总结来说,安装Jenkins的Git和Maven插件涉及以下几个关键步骤: 1. 下载Git Plugin和Maven Integration Plugin的.hpi文件。 2. 在Jenkins管理界面手动上传插件并安装。 3. 配置Git全局设置和SSH密钥。 4. 配置Maven...

    jenkins 离线安装maven插件集合jenkins-maven.zip

    总结来说,离线安装Jenkins Maven插件是一项重要的操作,尤其在无网络的环境中。通过解压并放置插件文件,然后重启Jenkins服务,我们可以让Jenkins具备对Maven项目的支持,从而实现更高效的自动化构建和部署流程。...

    Maven插件手动下载

    手动下载Maven插件通常包括以下几个步骤: 1. **确定插件**:首先,你需要知道需要下载的插件名称和版本。这通常可以从项目的POM.xml文件中找到,或者根据构建需求来确定。 2. **访问Maven仓库**:Maven的中央仓库...

    xjar_maven_plugin.rar

    首先,xjar-maven-plugin是一个Maven插件,它是Java开发中的一个实用工具,主要功能是将Java类库或应用程序的jar文件进行加密。这在某些场景下非常有用,比如你希望保护源代码不被反编译,或者防止未经授权的修改。...

    maven3.x几个版本免安包.rar

    5. Maven插件: Maven插件是实现特定构建任务的工具,例如编译源代码、运行测试、打包应用等。每个插件都有一系列的目标(goals),可以在生命周期的不同阶段被调用。 6. Maven坐标: Maven坐标是用于唯一标识一...

    maven插件 免费

    在MyEclipse中集成Maven插件,开发者可以享受到以下几点优势: 1. **自动化构建**:Maven通过读取POM.xml文件中的配置信息,自动完成编译、测试、打包、部署等一系列构建任务,极大地提高了开发效率。 2. **依赖...

    maven及eclipse插件下载和详细环境搭建步骤

    这涉及到几个关键步骤: 1. **Maven下载与安装**:你可以从Apache官方网站下载最新版本的Maven,如`apache-maven-3.3.9-bin.zip`。下载后解压到你选择的目录,并将解压后的bin目录添加到系统的PATH环境变量中,以便...

    sonar-maven-plugin:SonarQube Maven 插件 + 补丁

    2.5-快照(sonar.skip、sonar.java.libraries、sonar.java.binaries) 复杂的 maven 项目解析(例如,模块目录中的几个 pom 文件) Scala 支持(包括 src/main/scala 作为源和 src/test/scala 作为测试)

    Eclipse中Maven插件

    在Eclipse中配置Maven插件涉及到以下几个关键步骤: 1. **安装Maven插件**:打开Eclipse,选择“Help” &gt; “Eclipse Marketplace”,在搜索框输入“maven”找到M2E插件,点击“Install”按照提示完成安装。如果无法...

    android-maven-gradle-plugin,与android库项目兼容的gradle的maven插件.zip

    《Android Maven Gradle 插件:与Android库项目兼容的构建工具详解》 在Android开发领域,构建工具的不断更新迭代对于开发者来说既是机遇也是挑战。Android Maven Gradle 插件,作为Android库项目与Maven集成的重要...

    Maven 自定义Zip插件

    创建自定义Zip插件涉及以下几个关键步骤: 1. **定义Mojo(Maven Goal)**:Mojo是Maven插件的基本执行单元,类似于一个Java方法。你需要定义一个新的Mojo,指定其目标(goal)、执行阶段(phase)以及参数。例如,...

    maven-plugins:[不建议使用] Apache Maven插件的镜像

    当开发者遇到不建议使用的Maven插件时,他们应该考虑以下几个步骤: 1. **检查插件版本**:确认插件版本是否为最新,如果不是,尝试升级到最新稳定版本。 2. **查找替代方案**:如果插件已被废弃,寻找官方推荐的...

    Maven学习笔记.zip

    本学习笔记将深入探讨Maven的核心概念,包括Maven插件、安装步骤、中央仓库以及自定义本地仓库的设置。 ### Maven核心概念 1. **项目对象模型(POM)**:POM是Maven的核心,它包含了项目的基本信息,如项目名称、...

    MAVEN包和插件

    学习这个文件可以帮助你全面了解Maven的工作原理,以及如何有效地利用Maven插件来扩展Maven的功能,例如编译、测试、打包、部署等。 总的来说,这个压缩包提供了一套关于Maven和其在实际开发中应用的资源,对于Java...

    maven 常用命令集合

    Maven 的常用命令可以分为以下几类: 1. 项目创建命令 命令:mvn archetype:create 作用:创建一个新的 Maven 项目 参数: * -DgroupId:指定项目的GroupId * -DartifactId:指定项目的ArtifactId * -...

    培训机构传出的maven学习笔记

    在“培训机构传出的maven学习笔记”中,我们可能涵盖以下几个关键知识点: 1. **Maven的基本概念**:理解Maven的核心概念,如POM.xml文件、仓库(本地仓库和中央仓库)、生命周期和构建阶段(如clean、compile、...

Global site tag (gtag.js) - Google Analytics