Maven项目怎样引用其他项目/或者jar包

来源:互联网 发布:荷兰留学知乎 编辑:程序博客网 时间:2024/05/01 14:54

惯例:

我是温浩然:

现在越来越多的项目都用Maven进行管理jar包,我这里说的是,Maven怎样引用本地Maven项目.

一个项目从SVN上下载下来,先在本地删除(只是在工作环境中删除,不要删除文件),在通过eclipse导入Maven项目,然后,右键项目,选择Maven,选择Update Project.

一个项目的JAR包就从Maven服务器上下载到本地了。

我对Maven的理解。

Maven就是对jar包进行管理,也可以说是对项目进行管理。所有的Maven项目,都用一个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/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>com.tujia</groupId>    <artifactId>file-server</artifactId><version>0.0.1-SNAPSHOT</version>    <packaging>war</packaging><build>    <finalName>file-server</finalName>        <plugins>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-compiler-plugin</artifactId>                <version>2.3.2</version>                <configuration>                    <source>1.7</source>                    <target>1.7</target>                </configuration>            </plugin>        </plugins>    </build>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    </properties>        <dependencies>    <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>4.11</version>        </dependency>        <dependency>            <groupId>ch.qos.logback</groupId>            <artifactId>logback-classic</artifactId>            <version>RELEASE</version>        </dependency>        <dependency>      <groupId>org.quartz-scheduler</groupId>     <artifactId>quartz-jobs</artifactId>     <version>2.2.1</version>    </dependency>    <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context</artifactId>            <version>3.2.8.RELEASE</version>        </dependency>         <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context-support</artifactId>            <version>3.2.8.RELEASE</version>        </dependency><dependency>            <groupId>com.google.code.gson</groupId>            <artifactId>gson</artifactId>            <version>2.2.4</version>        </dependency>        <dependency>            <groupId>jstl</groupId>            <artifactId>jstl</artifactId>            <version>1.2</version>        </dependency>        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>jsp-api</artifactId>            <version>2.1</version>        </dependency>        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>javax.servlet-api</artifactId>            <version>3.1.0</version>            <scope>provided</scope>        </dependency>        <dependency>            <groupId>org.logback-extensions</groupId>            <artifactId>logback-ext-spring</artifactId>            <version>0.1.1</version>            <exclusions>                <exclusion>                    <groupId>ch.qos.logback</groupId>                    <artifactId>logback-classic</artifactId>                </exclusion>            </exclusions>        </dependency>        <dependency>            <groupId>ch.qos.logback</groupId>            <artifactId>logback-classic</artifactId>            <version>1.1.2</version>        </dependency>        <dependency>            <groupId>org.codehaus.jackson</groupId>            <artifactId>jackson-core-asl</artifactId>            <version>1.9.13</version>        </dependency>        <dependency>            <groupId>org.codehaus.jackson</groupId>            <artifactId>jackson-mapper-asl</artifactId>            <version>1.9.13</version>        </dependency>        <dependency>            <groupId>org.apache.tiles</groupId>            <artifactId>tiles-core</artifactId>            <version>2.2.2</version>            <exclusions>                <exclusion>                    <groupId>org.slf4j</groupId>                    <artifactId>jcl-over-slf4j</artifactId>                </exclusion>            </exclusions>        </dependency>        <dependency>            <groupId>org.apache.tiles</groupId>            <artifactId>tiles-api</artifactId>            <version>2.2.2</version>        </dependency>        <dependency>            <groupId>org.apache.tiles</groupId>            <artifactId>tiles-jsp</artifactId>            <version>2.2.2</version>        </dependency>  <dependency>        <groupId>com.tujia</groupId>  <artifactId>tu-search-client</artifactId>  <version>0.0.1-SNAPSHOT</version>  </dependency>  <dependency>        <groupId>com.tujia</groupId>  <artifactId>tu-login</artifactId>  <version>0.0.1-SNAPSHOT</version>        </dependency><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>2.0.2</version></dependency>    </dependencies></project>

我认为pom.xml文件分为这几部分,

1、头部,所有的配置文件都有这个。

<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/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>
2、当前的项目信息。比如,版本,名称,打包格式,等等。
<groupId>com.tujia</groupId>    <artifactId>file-server</artifactId><version>0.0.1-SNAPSHOT</version>    <packaging>war</packaging>
3、当前项目在Maven中的信息。
<build>    <finalName>file-server</finalName>        <plugins>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-compiler-plugin</artifactId>                <version>2.3.2</version>                <configuration>                    <source>1.7</source>                    <target>1.7</target>                </configuration>            </plugin>        </plugins>    </build>
4、剩下的就是第四部分了,引用的其他jar包。


这是在一个项目中的Maven。

如果你的一个Maven项目想要引用本地的其他项目,需要把被引用的项目中,pom.xml文件的第二部分,放到引用项目的pom中。

格式如下。

<dependency>    这三个都是被引用项目的第二部分。    <groupId>com.tujia</groupId><pre name="code" class="html">    这三个都是被引用项目的第二部分。<span style="font-family: Arial, Helvetica, sans-serif;">       <artifactId>tu-login</artifactId></span>
    这三个都是被引用项目的第二部分。  <span style="font-family: Arial, Helvetica, sans-serif;">    <version>0.0.1-SNAPSHOT</version></span>
</dependency>


如果你的项目中,需要引用某一个jar包,也是跟刚才一样写。可以用好压等压缩软件打开jar包,有些jar包会有pom.xml信息。等更新项目时,jar包会下载到你的电脑上。

这是我本地jar包下载后保存的路径。

C:\Users\whr-pc\.m2\repository,,一般都是放到.m2文件夹下面。

然后一层一层的打开,就会发现所用的jar包。

如果导入一个jar包出错,提示找不到jar包,这个需要手动下载jar包,放到本地的.m2/../..下面。

0 0