[code="java"]
http://maven.apache.org/
http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html
http://blog.csdn.net/zzq900503/article/details/41043681
------------------------------------------------------------------------
M2_HOME
F:\OpenSource\Apache-maven\apache-maven-3.3.9\apache-maven-3.3.9-bin
classpth:
%M2_HOME%/bin;
修改本地库存放位置
conf\settings.xml
<localRepository>F:/00.Maven-Repository/</localRepository>
设置eclipse ->maven安装位置及配置文件位置
>mvn help:system
生成Java项目
>mvn archetype:generate -DinteractiveMode=false -DgroupId=org.fkjava -DartifactId=mavenQs -Dpackage=org.fkjava.mavenqs
1.生成WEB项目
>mvn archetype:generate -DgroupId=org.crazyit -DartifactId=Struts2qs -Dpackage=org.crazyit.struts2qs -DarchetypeArtifactId=maven-archetype-webapp
2.pom.xml 添加依赖
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.16.3</version>
</dependency>
3.执行:mvn package
-----------------------------------------------------------------------------
导出依赖树:mvn dependency:tree > tree.txt
-----------------------------------------------------------------------------
mvn -v 类似于 javac -version 或者 git --version
在linux上使用maven也需要像使用java一样设置环境变量 这是
export M2_HOME = /?
export PATH = $PATH:$M2_HOME/bin
export MAVEN_OPTS = -Xms256m -Xmx512m
关于myeclipse中的内嵌maven的替换.路径是 Windows-->Preferences-->Maven-->右边点击add进行替换
没错,Maven不管下没下成功,都会有一个.lastupdate文件,一旦出现了这个文件,而你指定远程仓库的方式是mirror,
而不是profile里的repository,那么Maven默认不会去更新这个文件,个人以为Maven的这个设定很愚蠢。
------------------------------------一般常用命令----------------------------------------
mvn help:system 自动在本用户下创建 ~/.m2/repository
mvn clean compile 清理编译
mvn clean test 清理测试
mvn clean package 清理打包
mvn clean install 清理将打包好的jar存入 本地仓库 注意是本地仓库
mvn archetype:generate 使用Archetype生成项目骨架
mvn clean deploy 根据pom中的配置信息将项目发布到远程仓库中
------------------------------------一般常用命令----------------------------------------
---------------------------------maven目录结构----------------------------------------
src/main/java :正式内容包路径
src/mian/resources :正式的配置文件路径
src/test/java :测试包路径
src/test/resources :测试的配置文件路径
src/main/webapp : war 资源目录
---------------------------------maven目录结构----------------------------------------
----------------------------优化依赖命令-----------------------------------------------
mvn dependency:list 显示所有已经解析的所有依赖
mvn dependency:tree 以目录树的形式展现依赖, 最高层为一层依赖 其次二层依赖 三层依赖....
mvn dependency:analyze 第一部分显示 已经使用但是未显示依赖的的 第二部分显示项目未使用的但是依赖的
----------------------------优化依赖命令-----------------------------------------------
如下是pom.xml文件的常用配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion> <!-- 固定值在MAVEN3中-->
<groupId>cuiyaonan2000</groupId> <!-- 所属于的组 -->
<artifactId>maven</artifactId> <!-- 唯一标示 -->
<version>0.0.1-SNAPSHOT</version> <!-- 版本号 -->
<packaging>war</packaging> <!-- 项目的打包方式,默认使用jar -->
<name>maven项目模板的基本使用</name>
<description> 这里的描述不知道是干吗用</description>
<properties>
<springframework.version>2.5.6</springframework.verson>
<!-- 归类依赖 只需在 <version>${springframework.version}</version> 使用就可以了-->
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<!-- <type>依赖的类型,大部分情况下不必声明 默认是jar</type> -->
<scope>test</scope> <!-- 依赖范围 传递性依赖 详见p63 -->
<!-- <optional>标记依赖是否可选 不明白 该处的值是 true 和 false 详见p66</optional> -->
<!--
<exclusions>
<exclusion>
排除传递性依赖 只需列出如下的2项就可以了
<groupId></groupId>
<artifactId></artifactId>
</exclusion>
</exclusions>
-->
</dependency>
</dependencies>
<build>
<plugins>
<!-- 设置这个插件的对应Java版本,貌似是为了解决一个历史问题-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<!-- 如下使用UTF-8 处理资源文件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
<!-- 配置远程版本仓库 -->
<repositories>
<!-- 设置远程版本库 直接收发布版本 不接受快照版本-->
<repository>
<id>jboss</id> <!-- 如果是用central 就会覆盖中央仓库 -->
<name>JBoss Repository</name>
<url>http://repository.jboss.com/maven2/</url>
<release>
<enabled>true</enabled>
<!-- 如下的2个参数详见p83
<updatePolicy>daily</updatePolicy>
<checksumPolicy>ignore</checksumPolicy>
-->
</release>
<snapshots>
<enabled>false</enabled>
</snapshots>
<layout>default</layout>
</repository>
</repositories>
<!-- 将该项目 发布到远程仓库中 -->
<distributionManagement>
<repository>
<id>proj-release</id> <!-- 这里的id是为了 跟setting.xml中的 username 和 userpassword 的id匹配,有的仓库需要权限账户-->
<name>Proj Release Repository</name>
<url>http://192.168.89.130</url>
</repository>
<snapshotRepository>
<id>proj-release</id>
<name>Proj Release Repository</name>
<url>http://192.168.89.130</url>
</snapshotRepository>
</distributionManagement>
</build>
</project>
----------------------------------------------------
Maven突然网络故障后清理:*.lastUpdated
---------------------------------------------------
14.当使用maven搜索,无结果并提示:Index downloads are disabled, search results may be incomplete.
"Window" --> "Preferences" and choose Maven in the left side.
Now you have to check the box "Download repository index updates on startup"
If no "Search Results"
"Window" ---> "Show View" ---> "Maven Repositories" ---> "Global Repositories"
chose "central" click right and "Update Index"
---------------------------------------------
eclipse:maven
运行Maven是报错:No goals have been specified for this build
pom.xml文件<build>标签后面加上<defaultGoal>compile</defaultGoal>即可
-----------------------------------------------------------------------------
maven 多源文件
http://www.mojohaus.org/build-helper-maven-plugin/usage.html
资源文件本身可以配置多个,配置完成以后右键项目,maven->update
<resources>
<resource> <!-- 可以配置多个 -->
<directory>src</directory>
</resource>
</resources>
-----------
java源文件需要插件 build-helper-maven-plugin
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${basedir}/01_helloStruts2</source>
<!-- 我们可以通过在这里添加多个source节点,来添加任意多个源文件夹 -->
</sources>
</configuration>
</execution>
</executions>
</plugin>
----------------------------------------------------------------
解决 maven 插件报错
1.eclipse的安装目录下的plugins下的org.eclipse.m2e.lifecyclemapping.defaults_xxxxxx.jar - lifecycle-mapping-metadata.xml
添加如下
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<versionRange>[1.3,)</versionRange>
<goals>
<goal>compile</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
2. Window-Perferences-Maven-Lifecycle Mapping ,选择添加后的文件 lifecycle-mapping-metadata.xml
或者,添加这个标签(不建议)
<pluginManagement>
<plugins> </plugins>
[/code]
相关推荐
不习惯于maven项目开发,想使用eclipse的普通web项目。想借鉴别人的maven项目,但是自己使用的却不熟悉maven的原理等等,但是需要懂一点maven的目录架构。
而 maven 的成功又一次验证了这一点,越来越多的项目开始使用 maven 。 基本原理 Maven 的基本原理很简单,采用远程仓库和本地仓库以及一个类似 build.xml 的 pom.xml ,将 pom.xml 中定义的 jar 文件从远程仓库...
Maven 无疑是相当成功的,这一点从越来越多的开源项目开始使用 Maven 就可以看出。Maven 取得成功的原因很简单:在简化构建脚本的同时,功能并没有缩水,反而有所增强;提供汇集项目信息的工具,并以相当友好的方式...
apache-maven3.6 maven项目必备的软件 官网下载速度太慢
我自己觉得,Maven的核心功能便是合理叙述项目间的依赖关系,通俗点讲,就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包,而这里pom.xml文件对于学了一点maven的人来说,就有些熟悉了,怎么通过pom.xml...
基于 Eclipse 使用 maven 整合 struts2, spring3 , 含 quartz 示例 . 这个内容更多一点
做基于maven的SSM开发用这个就好了,不用到处找依赖了,完全免费,建议配置阿里云的maven镜像,会快一点
唉,没办法,就只有一遍一遍的动手尝试,经过种种磨难总算是有一点眉目了。现在就将我的经验写出来,一来避免将来遗忘,二来也给和我一样的菜鸟们提供一点点的方便。呵呵。本文的主题在于实用操作,个中原理还是麻烦...
第一次使用maven在idea上创建的项目,配合着博客一块看。
Dockerfile Maven现状:成熟在这一点上,我们还没有开发或接受新功能,甚至没有修复非关键的错误。 这个Maven插件将Maven与Docker集成在一起。 设计目标是: 不要做任何幻想。 Dockerfile是构建Docker项目的方式。 ...
因为不久前又学了点Maven觉得非常好,所以在弄SpringMVC这个Web框架时想使用Maven来做,但是问题又来了,我一直是在Eclipse中使用Maven,而我以前一直用MyEclipse做Web开发(在Eclipse中做web开发个人认为一点都没...
Maven这个工具的作用,说的最简单一点,就是它能够自动帮你下载和管理在你项目中用到的jar包。这一点,在项目整合中确实非常实用。学习Maven对学习者的Java技术能力没有要求,只要有一些Java基础,想在项目中用到...
eclipse配置Maven详细教案,里面包含了详细的maven配置教案,3.5版本的maven还包括maven仓库清理插件
需要说的一点是,咱们电脑上,一定要有下载配置好的jdk。 . 2. Maven环境配置 打开电脑的环境变量,新建: 变量名: M2_HOME 变量值: E:\Computer_App\Java\apache-maven-3.6.1 //就是你解压的Maven的路径 在Path...
java 图片转webp格式代码,maven项目,可供参考,实际项目可以直接导入以封装好的jar
首先,需要说明的一点,AOP只是Spring的特性,它就像OOP一样是一种编程思想,并不是某一种技术,AOP可以说是对OOP的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个...
如果要做大一点的java项目,maven入门,java项目管理,值得珍藏。
maven 构建的cxf webservice, 不要分,最讨厌要分的,一点分享精神都没有
spring3+hibernate4+struts2+maven全注解整合,楼主整合hibernate4出现了一点问了,弄了两天才弄好
Java项目中往往会使用很多第三...需要特别说明的是本插件仅仅针对我们项目打包出的Jar包清除了漏扫特征文件,使漏扫软件无法扫描出安全漏洞,并未进行事实上的软件包升级或任何填补漏洞的工作,请您要特别注意这一点。