`

maven 插件总结

阅读更多
Eclipse调试原理可以参考
http://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/

1 常用配置
<properties>
		<!-- 主要依赖库的版本定义 -->
		<jetty.version>6.1.26</jetty.version>
		<jdk.version>1.6</jdk.version>
		<!-- Plugin的属性定义 -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>
	
	<dependencies>
		<!-- j2ee web spec -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
		<dependency>
			<groupId>taglibs</groupId>
			<artifactId>standard</artifactId>
			<version>1.1.2</version>
		</dependency>

		<!-- test begin -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.8.1</version>
			<scope>test</scope>
		</dependency>

		<!-- jetty -->
		<dependency>
			<groupId>org.mortbay.jetty</groupId>
			<artifactId>jetty</artifactId>
			<version>${jetty.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.mortbay.jetty</groupId>
			<artifactId>jsp-2.1-jetty</artifactId>
			<version>${jetty.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<!-- compiler插件, 设定JDK版本 -->
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>${jdk.version}</source>
					<target>${jdk.version}</target>
					<showWarnings>true</showWarnings>
				</configuration>
			</plugin>

			<!-- war插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.1</version>
				<configuration>
					<warName>${project.artifactId}</warName>
				</configuration>
			</plugin>

			<!-- resource插件, 设定编码 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.4.3</version>
				<configuration>
					<encoding>${project.build.sourceEncoding}</encoding>
				</configuration>
			</plugin>

			<!-- jar插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.3.1</version>
				<configuration>
					<archive>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
							<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
						</manifest>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>2.1.2</version>
			</plugin>

			<!-- eclipse插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-eclipse-plugin</artifactId>
				<version>2.8</version>
				<configuration>
					<wtpversion>2.0</wtpversion>
					<!-- 额外的eclipse外观 -->
					<!-- <additionalProjectFacets> </additionalProjectFacets> -->
					<!-- 不打包.svn文件 -->
					<sourceExcludes>
						<sourceExclude>**/.svn/</sourceExclude>
					</sourceExcludes>
					<downloadSources>true</downloadSources>
					<!-- <downloadJavadocs>true</downloadJavadocs> -->
				</configuration>
			</plugin>

			<!-- jetty插件 -->
			<plugin>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>maven-jetty-plugin</artifactId>
				<version>${jetty.version}</version>
				<configuration>
					<!-- 项目直接放在根目录下运行 -->
					<contextPath>/</contextPath>
					<connectors>
						<!-- 使用NIO提升性能 -->
						<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
							<!-- 配置监听端口 -->
							<port>8080</port>
						</connector>
					</connectors>
					<reload>manual</reload>
				</configuration>
			</plugin>
		</plugins>
	</build>


2 常用的 maven build
eclipse2maven:
eclipse:clean


jettyrun
jetty:run -Dmaven.test.skip=true


mvn2eclipse
eclipse:eclipse -Dwtpversion=2.0


3 常用的脚本
在项目根目录下建立bin文件夹
jetty.bat
@echo off
echo [INFO] Use maven jetty-plugin run the project.

cd %~dp0
cd ..

set MAVEN_OPTS=%MAVEN_OPTS% 
call mvn jetty:run -Dmaven.test.skip=true

cd bin
pause


4 在ECLIPSE中调试JETTY
引用

Step 1
Go to the Run/External Tools/External Tools ..." menu item on the "Run" menu bar. Select "Program" and click the "New" button. On the "Main" tab, fill in the "Location:" as the full path to your "mvn" executable. For the "Working Directory:" select the workspace that matches your webapp. For "Arguments:" add jetty:run.

Move to the "Environment" tab and click the "New" button to add a new variable named MAVEN_OPTS with the value:

-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=y

If you supply suspend=n instead of suspend=y you can start immediately without running the debugger and launch the debugger at anytime you really wish to debug.

Step 2

Then, pull up the "Run/Debug/Debug ..." menu item and select "Remote Java Application" and click the "New" button. Fill in the dialog by selecting your webapp project for the "Project:" field, and ensure you are using the same port number as you specified in the address= property above.

Now all you need to do is to Run/External Tools and select the name of the maven tool setup you created in step 1 to start the plugin and then Run/Debug and select the name of the debug setup you setup in step2.

From instructions provided by Rolf Strijdhorst on the Maven mailing list

Stopping Jetty

In order to stop the jetty server the "Allow termination of remote VM" should be checked in debug dialog in Step 2. When you have the jetty server running and the debugger connected you can switch to the debug perspective. In the debug view, right click on the Java HotSpot(TM) Client VM[localhost:4000] and  chose terminate. This will stop the debugger and the jetty server.


第一步:RUN --》倒数第二个TOOLS里添加--》PROGRAM里--》new -->main里写
LOCATION:E:\apache-maven-3.0\bin\mvn.bat
WROKDING DIRECTORY选项目目录${workspace_loc:/jsp}
Arguments:jetty:run
ENVIRONMENT里NEW
NAME:MAVEN_OPTS
VALUE:-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y

第二步:RUN-->DEBUG CONFIGRATION--》REMOTE JAVA APPLICATION里
PROJECT选要调试的项目,CONNECTION TYPE:选第一个
HOST:localhost
port:8000

先运行第一步再运行第二步

5 把JAR包COPY到LIB包下发布到TOMCAT上
mvn dependency:copy-dependencies


JAR包会都被COPY到target目录下WEB-INF下的LIB下
然后把整个LIB COPY到SRC/MAIN/WEBAPP/WEB-INF/LIB下
没有LIB目录就自己创建一个
分享到:
评论

相关推荐

    eclipse安装maven插件需要包

    总结,离线安装Eclipse的Maven插件是一种在无网络或网络不稳定情况下的有效解决方案。通过配置Windows的Maven环境和在Eclipse中进行离线安装,我们可以确保开发过程中对Maven的正常使用,实现项目的高效管理和构建。

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

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

    Myeclipse6.5的Maven插件

    总结来说,MyEclipse 6.5的Maven插件是Java开发者必备的工具之一,它简化了项目构建和依赖管理,提高了开发效率,而其离线安装和良好的拔插性更是为不同环境下的开发工作提供了便利。正确理解和熟练使用Maven插件,...

    安装Jenkins的git和maven插件

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

    apache-maven插件

    Maven插件是实现特定构建任务的可插拔组件,如编译代码(maven-compiler-plugin)、打包应用(maven-jar-plugin)或运行单元测试(maven-surefire-plugin)。开发者可以根据需要选择和配置相应的插件,以实现特定的...

    Myeclipse10安装maven插件

    ### MyEclipse10安装与配置Maven插件详尽指南 #### 一、Maven简介及重要性 Maven是一款强大的项目管理工具,主要用于Java项目的构建、依赖管理和项目信息管理。通过Maven,开发者可以方便地管理项目的依赖关系、...

    Eclipse安装Maven插件

    ### Eclipse安装Maven插件详解 #### 一、前言 在Java开发领域,Eclipse作为一款广受欢迎的集成开发环境(IDE),提供了强大的编辑、调试及构建功能。Maven作为一个自动化构建工具,能帮助开发者简化项目管理流程,...

    jenkins 必装maven插件

    总结来说,Jenkins Maven插件是实现Java项目持续集成的关键工具,通过手动安装和配置,即使在网络受限的环境下也能确保CI流程的正常运行。结合Maven的强大功能,可以构建出高效、稳定的自动化构建和部署系统。

    eclipse的maven插件

    Eclipse的Maven插件,即Maven Integration for Eclipse(简称m2e),是开发者在Eclipse集成开发环境中管理Maven项目的重要工具。它提供了与Maven生命周期的紧密集成,使得用户可以在Eclipse内部进行构建、编译、测试...

    Maven插件源码:根据库表生成实体类&根据实体类生成库表

    总结来说,"Maven插件源码:根据库表生成实体类&根据实体类生成库表"是一个高效且实用的开发工具,它整合了数据库与Java代码的自动化生成,提高了开发效率,降低了错误的可能性。对于大型项目或频繁迭代的系统,这样...

    maven插件的demo

    总结起来,Maven插件是Maven生态系统的核心组件,它们增强了Maven的功能,使得项目构建更加灵活和定制化。通过生命周期绑定和自定义参数,我们可以精确控制插件的行为,以满足各种项目需求。`demo-maven-plugin`和`...

    maven插件

    总结,Maven插件是Maven构建系统的核心部分,它们执行各种任务,涵盖了项目构建的全过程。理解并熟练运用Maven插件能够极大地提高开发效率,确保项目构建的稳定性和一致性。通过深入学习插件源码,开发者可以进一步...

    eclipse中Maven安装插件和maven.zip

    总结一下,Eclipse中的Maven插件让开发者能够方便地在IDE内管理Maven项目,而不用离开Eclipse去执行命令行操作。通过正确安装和配置插件,以及理解Maven的基本概念和操作,可以大大提高开发效率,减少项目管理的复杂...

    maven仓库插件

    Maven插件是Maven生命周期中的执行单元,它们执行特定的任务,如编译源代码、打包项目、运行测试等。Maven仓库插件则是专门用于处理仓库操作的插件,包括下载依赖、上传构建的工件以及管理仓库配置。 ** Maven仓库...

    maven插件安装以及eclipse安装maven插件的资料

    本文将详细介绍如何安装和配置Maven,以及在Eclipse中安装Maven插件。 首先,我们来了解Maven的基本概念。Maven基于项目对象模型(Project Object Model,POM)来管理项目,POM是一个XML文件,包含了项目的配置信息...

    maven插件用来分布式集成开发的

    Maven插件是Java开发中的重要工具,特别是在分布式集成开发中发挥着核心作用。Maven作为一个项目管理和综合工具,它简化了构建、依赖管理和项目信息管理的任务。本文将深入探讨Maven插件在分布式集成开发中的应用...

Global site tag (gtag.js) - Google Analytics