- 浏览: 220575 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
zzhyq:
有没有后台是ASHX 的呀
Ext.tree.TreePanel -
693593336:
谢谢作者分享,正好用上
Ext.tree.TreePanel -
greatwqs:
提供一个下载的demo不是更好
基于servlet的 Freemarker Demo
估计我是喜欢上转载东西了。这两天开始学习Maven。。。看了一些资料,结合项目中POM.xml。。。算是了解下皮毛。
1.Maven是什么?
首先Maven是一个项目管理工具,基于项目对象模型(POM),它主张遵循"约定优于配置"这个思想。 Maven 通过给项目提供明智的默认行为来融合这个思想。 在没有自定义的情况下,源代码假定在 {basedir}/src/main/java,资源文件假定是在{basedir}/src/main/resources 。测试代码假定是在 {basedir}/src/test 。虽然,一开始觉得Maven这么做有些霸道,但是只要我们遵循这些约定,Maven 可以使我们的项目运行更快,并且能够很方便的帮你管理项目报告,生成站点,管理JAR文件。
Maven 的核心其实不做什么实际的事情,它就是一个管理者,负责解析一些 XML 文档,管理生命周期与插件。因此,Maven 被设计成将主要的职责委派给一组 Maven插件,这些插件影响 Maven生命周期,执行对目标的访问。也就是说,Maven大部分的智能是由插件实现的,而插件从 Maven 仓库获得,这些Maven插件是一个单个或多个目标的集合。
例如:Maven Archetype 插件的一个命令mvn archetype:create 其中archetype:create是一个Maven目标,archetype是一个插件标识,create是目标标识。
2.本地仓库(localRepository)
第一次运行时maven将从远程仓库下载构件和插件到你本机上,存储在你的本地Maven仓库里。一旦 Maven 已经从远程仓库下载了一个构件,它将永远不需要再下载一次,因为 maven会首先在本地仓库查找插件,然后才是其它地方。
在Maven的安装目录下,conf/ 目录包含了一个全局的 settings.xml文件,该文件用来自定义你机器上 Maven 的一些行为。该文件包含了用户相关的认证,仓库和其它信息的配置,用来自定义 Maven 的行为。Maven默认的本地的仓库目录是~/.m2/repository/,当你从远程 Maven 仓库下载依赖的时候,Maven 在你本地仓库存储了这个依赖的一个副本。当然你也可以更改本地仓库的位置,只要修改settings.xml文件中的localRepository属性 就可以,如下代码所示: 修改后你的本地仓库地址就是D:/maven-2.1.0/repo
3.Pom文件
Maven中最基础的是Pom.xml文件,该文件中定义了项目的坐标,以及项目所需依赖关系和插件行为。一个Maven坐标可以用来唯一标识一个项目, 一个依赖,或者Maven POM 里的一个插件,坐标由groupId, artifactId, version 和 packaging组成,结构如下所示:
groupId:artifactId:packaging:version(mavenbook:my-app:jar:1.0-SNAPSHOT.)
groupId:artifactId:packaging:version(mavenbook:my-app:jar:1.0-SNAPSHOT.)
当我们新建一个工程后,pom文件会自动产生项目坐标信息,例如通过命令行建立一个web工程(其中‘/’为续行符):
mvn archetype:create /-DgroupId=my.test.maven
/-DartifactId=demo.web
/-DpackageName=my.test
/-DarchetypeArtifactId=maven-archetype-webapp
这个web工程的坐标信息如下:
my.test.maven
demo.web
war
1.0-SNAPSHOT
pom文件中通过dependency属性定义依赖,plugin属性定义插件。
依赖:
依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.13</version>
</dependency>
插件:
<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>
<encoding>UTF-8</encoding>
<debug>true</debug>
<failOnError>false</failOnError>
<executable>${JAVA_HOME}/bin/javac</executable>
</configuration>
</plugin>
【整个POM.xml文件,大概就这两块了】
4.经常使用的Maven命令
1. 创建Maven的普通java项目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=projectName
2. 创建Maven的Web项目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=webappName
-DarchetypeArtifactId=maven-archetype-webapp
3. 编译源代码: mvn compile
4. 编译测试代码:mvn test-compile
5. 运行测试:mvn test
6. 产生site:mvn site
7. 打包:mvn package
8. 清除产生的项目:mvn clean
9. 生成eclipse项目:mvn eclipse:eclipse
10. 编译测试的内容:mvn test-compile
11. 只打jar包: mvn jar:jar
12. 当开发一个带有很多失败单元测试的系统
mvn test -Dmaven.test.failure.ignore=true
13. 想要整个的跳过测试
mvn install -Dmaven.test.skip=true
mvn archetype:create
-DgroupId=packageName
-DartifactId=projectName
2. 创建Maven的Web项目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=webappName
-DarchetypeArtifactId=maven-archetype-webapp
3. 编译源代码: mvn compile
4. 编译测试代码:mvn test-compile
5. 运行测试:mvn test
6. 产生site:mvn site
7. 打包:mvn package
8. 清除产生的项目:mvn clean
9. 生成eclipse项目:mvn eclipse:eclipse
10. 编译测试的内容:mvn test-compile
11. 只打jar包: mvn jar:jar
12. 当开发一个带有很多失败单元测试的系统
mvn test -Dmaven.test.failure.ignore=true
13. 想要整个的跳过测试
mvn install -Dmaven.test.skip=true
maven打包跳过测试:
mvn package -Dmaven.test.skip=true
5、Assembly插件maven assembly plugin
使 用MavenExec插件运行了SimpleWeather应用程序。虽然MavenExec能运行程序并且产生输出,你不能就 把Maven当成是你程序运行的容器。如果你把这个命令行程序分发给其他人,你大概就需要分发一个JAR或者一个ZIP存档文件或 者TAR压缩过的GZIP文件。下面的小节介绍了使用MavenAssembly插件的预定义装配描述符生成一个可分发的JAR文件的 过程,该文件包含了项目的二进制文件和所有的依赖。
MavenAssembly插 件是一个用来创建你应用程序特有分发包的插件。你可以使用MavenAssembly插件以你希望的任何形式来装配输出,只需定义一个自定义的装 配描述符。后面的章节我们会说明如何创建一个自定义装配描述符,为SimpleWeather应用程序生成一个更复杂的存档文件。本章我们将会 使用预定义的jar-with-dependencies格式。要配置MavenAssembly插件,我们需要在pom.xml中 的build配置中添加如下的plugin配置。
Pom.xml配置如下:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
mvnassembly:assembly
在target/simple-weather-1.0-jar-with-dependencies.jar装配好之后,我们可以在命令行重新运行Main类。在你项目的基础目录下运行以下命令:
java-cpsimple-weather-1.0-jar-with-dependencies.jarorg.sonatype.mavenbook.weather.Main10002
这样我的依赖包里的class文件也一起打进了这个包里了!
6、
使用maven命令:mvn dependency:sources下载依赖包的源代码。
【常用命令】
mvn archetype:generate //创建 Maven 项目
mvn compile //编译源代码
mvn test-compile //编译测试代码
mvn test //运行应用程序中的单元测试
mvn site //生成项目相关信息的网站
mvn clean //清除目标目录中的生成结果
mvn package //依据项目生成 jar 文件 【一般直接使用: mvn clean package 】
mvn install //在本地 Repository 中安装 jar
mvn eclipse:eclipse //生成 Eclipse 项目文件
需要在eclipse中,配置环境变量M2_REPO,Window->Preferences->Java->Build Path->Classpath Variables
mvn archetype:generate //创建 Maven 项目
mvn compile //编译源代码
mvn test-compile //编译测试代码
mvn test //运行应用程序中的单元测试
mvn site //生成项目相关信息的网站
mvn clean //清除目标目录中的生成结果
mvn package //依据项目生成 jar 文件 【一般直接使用: mvn clean package 】
mvn install //在本地 Repository 中安装 jar
mvn eclipse:eclipse //生成 Eclipse 项目文件
需要在eclipse中,配置环境变量M2_REPO,Window->Preferences->Java->Build Path->Classpath Variables
【生成项目】
JAVA项目 mvn archetype:create -DgroupId=net.welken -DartifactId=common
web 项目 mvn archetype:create -DgroupId=net.welken -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp 【创建项目】
JAVA项目 mvn archetype:create -DgroupId=net.welken -DartifactId=common
web 项目 mvn archetype:create -DgroupId=net.welken -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp 【创建项目】
MAVEN2使用mvn install命令出现java.lang.OutOfMemoryError错误解决办法
命令行先执行:set MAVEN_OPTS=-Xms256m -Xmx256m,然后照常执行:mvn install.问题解决!
命令行先执行:set MAVEN_OPTS=-Xms256m -Xmx256m,然后照常执行:mvn install.问题解决!
用maven编译源代码,且跳过测试,最后将编译好的工程放到本地仓库里面。此时引用此文件的工程只需要刷新一下,就可以得到最新的依赖来执行自己的文件了。
mvn clean install -Dmaven.test.skip -Pautoconf
转载地址:http://tianya23.blog.51cto.com/1081650/242944
mvn 的其他一些基础知识:
http://www.javaeye.com/wiki/hzbook/2872-Maven-in-action
src/main/java :是项目编译时默认的编译文件位置。
src/main/resources :是项目资源文件默认存放的位置。
对应POM.xml 的:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
POM.xml会下载项目需要的包:
<dependency>
<groupId>net.sf.json-lib</groupId> //对应.m2/repository/net/sf/json-lib/json-lib/2.3/json-lib-2.3.jar
<artifactId>json-lib</artifactId>
<version>2.3</version>
<classifier>jdk15</classifier>
</dependency>
命令:mvn eclipse:eclipse 编译生成eclipse项目,便可导入我们的开发环境中。
命令:mvn clean package 包括编译,,,打包。所有生成文件都在target目录下。
src/main/java :是项目编译时默认的编译文件位置。
src/main/resources :是项目资源文件默认存放的位置。
对应POM.xml 的:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
POM.xml会下载项目需要的包:
<dependency>
<groupId>net.sf.json-lib</groupId> //对应.m2/repository/net/sf/json-lib/json-lib/2.3/json-lib-2.3.jar
<artifactId>json-lib</artifactId>
<version>2.3</version>
<classifier>jdk15</classifier>
</dependency>
命令:mvn eclipse:eclipse 编译生成eclipse项目,便可导入我们的开发环境中。
命令:mvn clean package 包括编译,,,打包。所有生成文件都在target目录下。
发表评论
-
eclipse_hot_keys
2011-09-26 09:33 876Alt+左右方向键 我们经常会遇到看代码 ... -
Ant_manual_links
2011-09-04 03:52 724ref:http://ant.apache.org/manua ... -
Ant 2.2.0 官方HelloWorld
2011-08-29 19:43 8781【Java EE】【ANT专辑 一】ANT在Web项 ... -
jetty_deploy_empty_project
2011-07-24 14:33 660pom.xml ==>jetty plugin ... -
free uml tools --Jude
2011-07-20 21:42 977做毕设时,Start-uml太让我蛋疼了,今天搜了下,其他 ... -
Maven Jetty Plugin Configuration Guide
2011-07-20 15:25 733en: http://docs.codehaus.o ... -
Eclipse快捷键(网上找的)
2010-03-12 00:35 6451. 【ALT+/】 此快捷键为用户编辑的好帮手,能为用 ... -
优化 myeclipse7.0 速度(尤其是building workspace)【转】
2010-04-09 16:02 1043话说一个人的忍耐是有限度的,用MyEclipse差不多半年了 ... -
我的Myeclipse优化后
2010-04-09 20:07 909优化后,右击项目->Myeclipse->run ... -
MyEclipse 8.5 注册--取消MyEclipse Trial Expired解决办法(转)
2010-05-11 01:25 1945今天MyEclipse提示过期了,MyEclipse Tria ... -
Eclipse Java EE IDE for Web Developers安装使用【转载】
2010-10-30 17:47 2221环境:windows 7+Eclipse Java EE ID ... -
ant 学习笔记(整理版)
2010-11-24 00:48 627(略) -
如何去掉maven的[WARNING] Using platform encoding (UTF-8 actually) to copy filter
2010-12-14 09:25 889方法一: 再使用maven和jetty的时候,如果你不想看到 ... -
对看大坨的代码有用【Eclipse类图插件】
2011-04-25 16:30 1480Relo是一个帮助开发人员研究大型代码库的好工具,它能够一步步 ... -
eclipse快捷键大全
2011-05-08 20:30 792eclipse快捷键大全 (有重复,自己整理下) Ctrl+ ... -
Tomcat中DataSource的配置方法
2011-05-14 10:31 845study 1: http://tech.ccidnet.c ... -
eclipse下启动tomcat出现Setting property 'source' to 'org.eclipse.jst.jee.server:
2011-05-14 10:34 2382在eclipse中启动tomcat时出现Setting pro ...
相关推荐
总结来说,这个压缩包提供了一个使用Apache Maven构建的Apache Wicket项目,版本为6.16.0。开发者可以通过在Eclipse中安装Maven插件,然后导入项目文件,直接开始基于Wicket的Web应用开发。Wicket的组件化、声明式...
总结来说,"mongodb-test-mvn"项目提供了一个实用的工具类,帮助Java开发者在MongoDB 3.x环境中更方便地进行对象转换,简化了数据操作。学习并应用这个示例,可以提升你在处理MongoDB数据时的效率和灵活性。
总结来说,Maven 是一个强大且灵活的项目管理工具,它简化了构建流程,使得开发者可以更专注于编写代码,而不是处理项目配置和依赖管理。对于初学者来说,理解 Maven 的基本概念、安装与配置、项目创建以及与 IDE 的...
总结来说,TIFF和JPEG是两种具有不同特点的图像格式,TIFF更适合高质量的图像存储和编辑,而JPEG则适用于网络分享和存储。将TIFF转换为JPEG的工具,尤其是经过Maven化的版本,使得这一过程更加便捷,便于集成到开发...
### Maven学习总结 #### Maven坐标概念 Maven坐标是一个重要的概念,它可以帮助开发者精确地定位一个项目的特定组件,比如JAR包或者WAR包。Maven坐标由三个关键部分组成:`GroupId`、`ArtifactId` 和 `Version`。 ...
- `mvn package`:打包项目,对于 Spring Boot 应用,这将生成一个可执行的 JAR 或 WAR 文件,存放在 `target` 目录下。 - `mvn install`:除了打包外,还会将生成的包安装到本地 Maven 仓库,以便其他项目可以...
word源码java 各种文件类型转换 项目地址: 注意:项目我是在国内写的,所以一切资源都是保存在国内。由于GitHub网站访问不多国内的原因,所以你可能看到的这个文档照片可能无法显示,你...mvn install:install-file
总结,生成 PDF 在 Maven 项目中通常涉及到选择适当的库或插件,配置 Maven 构建过程,以及可能的编程工作来整合 PDF 生成逻辑。对于大型项目,自动化生成文档是提高效率和保持一致性的重要步骤。通过 Maven 和相关...
总结来说,Hive JDBC是一个重要的工具,它让开发者能使用熟悉的SQL语言和JDBC接口与Hive进行交互,极大地拓宽了Hive的应用场景。正确理解和使用Hive JDBC,对于开发和维护基于Hadoop的数据处理系统至关重要。
MVN指令实现数据取反,如`MVN R0, #0`,使得R0的值变为二进制补码表示的-1。CMP指令用于比较,它会计算两个操作数的差值并更新条件标志位,如`CMP R1, R0`。CMN指令与CMP类似,但执行的是加法操作。TST、TEQ、ADD、...
- `MVN`:取反移动,如`MVN R0, #0`将立即数0取反后存入R0,结果为-1。 3. **比较和测试指令**: - `CMP`:比较,如`CMP R1, R0`,将R1减去R0并更新CPSR的标志位。 - `CMN`:负向比较,如`CMN R1, R0`,将R1加R0...
** Maven 安装与仓库详解 ** Maven 是一个强大的 Java ...总结,Maven 不仅简化了 Java 项目的构建流程,还通过仓库机制管理了项目的依赖关系。了解并熟练使用 Maven,可以极大地提升开发效率,降低项目的维护成本。
总结,`jsontools-core-1.7.jar`是一个方便的Java JSON处理库,结合Maven的管理,可以轻松地在项目中使用。通过理解并实践上述内容,开发者可以高效地在Java应用中实现JSON的序列化和反序列化。
安装输入项目根目录并使用构建: mvn clean install构建生成可执行的uber-JAR文件target/jpmml-xgboost-executable-1.5-SNAPSHOT.jar 。用法典型的工作流程可以总结如下: 使用XGBoost训练模型。 将模型和关联的特征...
#### 总结 通过上述内容的学习,我们了解到 Maven 不仅能够提高开发效率,还能有效管理项目的复杂性。无论是初学者还是有经验的开发者,掌握 Maven 都能显著提升项目的可维护性和可扩展性。希望这些知识点能够帮助...
【Maven 安装部署】 ...总结来说,Maven 作为项目管理工具,简化了构建流程,规范了项目结构,使得依赖管理和构建过程更加自动化。对于开发者而言,掌握 Maven 的使用能够极大地提高开发效率和协作质量。
**总结** Maven作为Java项目管理的强大工具,通过约定优于配置的理念,简化了项目构建和依赖管理,提升了开发效率。尽管存在一些缺点,如占用硬盘空间和依赖冲突等问题,但其带来的便利性使其在Java开发领域被广泛...
用户需要在本地安装Maven,然后在命令行中使用`mvn clean install`或`mvn compile`命令来编译和运行这个项目。如果项目包含一个`pom.xml`文件,那么这就是Maven的项目对象模型,描述了项目的依赖和其他构建细节。 ...
使用Maven命令行或者集成在IDE中的Maven插件,可以执行`mvn install`命令,Maven会自动构建项目,生成APK文件。然后,你可以通过adb命令或Android Studio的运行功能将APK安装到设备或模拟器上进行调试和测试。 总结...
总结,Java结合Maven项目可以实现高效的数据处理流程,包括数据爬取、Map转换和集群存储。这个过程涉及到多个技术点,如HTTP请求、HTML解析、Map操作、序列化、以及分布式存储。理解并熟练掌握这些技术,对于提升...