Maven 相关

2016/01/01 Java

本地安装远程仓库没有的包

今天遇到一个问题,远程Maven中央仓库没有 javax.servlet:javax.servlet-api:2.5。 配置远程仓库又太小题大做,最好直接安装到本地。

直接复制对应的包到本地仓库是不行的,必须有对应的 pom.xml 文件。

具体步骤如下:

  1. 执行命令
    mvn install:install-file -DgroupId=java.servlet -DartifactId=javax.servlet-api -Dversion=2.5 -Dpackaging -Dfile=D:/SERVLET-API.JAR
    

    解释:

    -DgroupId=包名
    -DartifactId=项目名
    -Dversion=版本号
    -Dpackaging=jar
    -Dfile=jar文件所在路径2. 在项目中使用此包
    ```

javax.servlet javax.servlet-api 3.1.0 provided

### 生成特定的项目结构

使用如下命令查看Repository里所有可用的archetype

mvn archetype:generate


常用的archetype:
* simple start

* web app ----- maven-archetype-webapp

* Groovy basic

可以在本地配置常用的archetype选项

1. 使用mvn archetype:crawl 命令,它会在 C:\Users\buha.m2\repository目录下生成一个archetype-catalog.xml文件

2. 将archetype-catalog.xml移到上一层目录,也就是C:\Users\buha.m2

3. 这时再运行mvn archetype:generate -DarchetypeCatalog=local 就可以达到你想要的目的了。

#### 转换为 Eclipse 项目

进入maven的项目目录

mvn eclipse:eclipse


1. 调整`eclipse`的`classpath`变量(用于指向`maven`的本地库的目录),选择`eclipse Window-->Preferences -->Java-->Build Path-->ClassPath Variables`,增加一个`M2_REPO`变量,选择`maven`的本地库的目录(`E:\Maven3\app\m3\repository`).
2. 工程导入
	* 第一种方式:`File-->Import-->Existing Projects into Workspace-->Select root directory`,完成导入
	* 第二种方式: 在eclipse的 Project Expor中 右键 `Import-->Maven-->Existing Maven Projects-->Select root Directory`,完成导入

### Maven导入JSTL依赖包

使用spring3.05 mvc进行开发,使用tomcat容器,通过url映射寻找view的时候,会报错NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
需要导入如下包
javax.servlet jstl 1.2 taglibs standard 1.1.2

### 下载源码包

通常情况下,使用maven增加依赖时,它只下载项目依赖包的二进制文件,要想在同时下载源代码包值需要增加一个参数:

mvn eclipse:eclipse -DdownloadSources=true;

此外,也可以使用maven命令:`mvn dependency:sources` 下载依赖包的源代码。

### 配置源文件编码

plugin>

org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.6</source> 1.6 UTF-8

</plugin>


### WEB项目配置servlet依赖

javax.servlet servlet-api 2.4

### war包名称
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <webResources>
                    <resource>
                        <directory>WebRoot</directory>
                    </resource>
                </webResources>
                <warName>BHBDoctor</warName>
            </configuration>
        </plugin> ```

错误汇总

在 IDEA 14中执行maven命令出错(IDEA中使用自己配置的maven地址)

-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.

原因是版本不兼容,可添加参数(Eclipse 中是Window->Preference->Java->Installed JREs->Edit Default VM arguments)

-Dmaven.multiModuleProjectDirectory=%M2_HOME%

IDEA 中是如下

中央仓库索引

地址: http://repo1.maven.org/maven2/.index/nexus-maven-repository-index.gz http://repo1.maven.org/maven2/.index/nexus-maven-repository-index.properties

Search

    Table of Contents