`
357029540
  • 浏览: 735752 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

maven依赖本地非repository(非pom导入的额外)中的jar包

阅读更多

       来自http://blog.csdn.net/fireofjava/article/details/45271193。

       有一些遗留项目,要转到maven管理,但又因为是多人分布式开发,不好建本地仓库,不得已只能把几个包放到了WEB-INF/lib下,但是通过通常的方法去依赖这些包,在maven install的时候是会报错的,说找不到这些包,所以要通过一些配置来处理。

有两种方式:

1. 通过scope指定为system

<dependency> 
    <groupId>org.apache</groupId>  
    <artifactId>test</artifactId> 
    <version>1.0</version> 
    <scope>system</scope> 
    <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/test.jar</systemPath> 
</dependency> 

 2. 通过maven插件里面配置

<build>
        <plugins>
            <plugin>
              <artifactId>maven-compiler-plugin</artifactId>
              <configuration>
                  <source>1.6</source>
                  <target>1.6</target>
                  <encoding>UTF-8</encoding>
                  <compilerArguments>
                   <extdirs>src\main\webapp\WEB-INF\lib</extdirs>
                 </compilerArguments>
              </configuration>
            </plugin>
        </plugins>
    </build>

 这样配置以后就OK了。

 

不过我还碰到一个奇怪的现象,我两个项目,有一个不按上面配置就报错,按上面的配置后就正常了。

而另一个项目,我把lib下面的依赖删除,maven的pom.xml里面的依赖删除,所有的java类都报错了,但是我跑maven install居然一直都成功,无解。

 

   我自己的maven编译引入做备份

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <!--<compilerArguments>
                        <extdirs>F:\</extdirs>
                    </compilerArguments>-->
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.10</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>true</overWriteSnapshots>
                            <excludeTransitive>false</excludeTransitive>
                            <includeScope>compile</includeScope>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.7</version>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <encoding>UTF-8</encoding>
                            <outputDirectory>${project.build.directory}</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>src/main/resources/</directory>
                                    <includes>
                                        <include>config/*</include>
                                        <include>config/*/*</include>
                                    </includes>
                                    <filtering>true</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <excludes>
                        <exclude>config</exclude>
                        <exclude>config/*</exclude>
                        <exclude>config/*/*</exclude>
                    </excludes>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                        </manifest>
                        <manifestEntries>
                            <Class-Path>./</Class-Path>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

 

 

分享到:
评论

相关推荐

    maven依赖本地jar包

    本文将深入探讨如何在Maven项目中正确配置依赖于本地非repository中的JAR包。 ### Maven依赖本地JAR包的方法 #### 1. 使用`&lt;systemPath&gt;`标签 Maven提供了`&lt;scope&gt;system&lt;/scope&gt;`这一特殊作用域,用于指定本地...

    doris-1.1.3源码编译broker-maven依赖包repository

    总的来说,Doris 1.1.3 源码编译 Broker Maven 依赖包 Repository 的过程涉及到对Maven的熟练运用,包括理解`pom.xml`文件,管理依赖,配置Repository,以及编译和打包操作。只有对这些知识点有深入的理解,才能顺利...

    maven jar包直接根据pom下载

    4. **本地Maven仓库**:Maven会将下载的jar包存储在用户的`.m2/repository`目录下,这样在同一个机器上的其他项目如果也需要同样的依赖,就可以直接从本地仓库获取,无需再次下载。 5. **批处理脚本**:描述中提到...

    maven的本地仓库jar包

    Maven的本地仓库是Maven系统的核心组件之一,它存储着项目所需的各类依赖库,包括JAR包。当你在开发过程中引用了一个库,Maven会尝试从中央仓库下载该库到本地仓库,以便后续的编译和构建步骤能够访问到。 本地仓库...

    Springboot 打Jar包,Maven完美解决本地Jar包自动打入Springboot Jar包中

    ### Springboot 打Jar包,Maven完美解决本地Jar包自动打入Springboot Jar包中 #### 背景介绍 随着微服务架构的流行,Spring Boot 成为了开发微服务应用时首选的技术栈之一。它简化了传统的Java Web应用程序的开发...

    Maven搭建Kafka Java开发环境需要的jar包

    在Maven中,我们通过在`pom.xml`文件中定义依赖来引入Kafka相关的jar包。 标题中提到的"Maven搭建Kafka Java开发环境需要的jar包",意味着我们需要为Maven项目配置Kafka的依赖。首先,我们需要在项目的`pom.xml`...

    maven本地仓库清除无效jar包脚本

    当我们在项目中引入POM依赖时,Maven会自动从远程仓库下载对应的jar包到本地仓库,以便于项目的构建和运行。然而,有时由于网络问题、仓库服务器故障或者缓存问题,可能会导致jar包下载不完整或者出现错误,从而影响...

    elasticsearch 5.4.0 maven依赖jar包

    7. **本地 Maven 仓库**:Maven 下载的 jar 包会被存储在用户的本地仓库中,默认路径通常是 `${user.home}/.m2/repository/`,这样在后续项目中再次引用相同依赖时,就无需重新下载。 8. **版本管理**:在 Maven 中...

    将jar包添加到本地maven仓库

    这会将你的jar包安装到你的本地Maven仓库中,通常是`~/.m2/repository`目录下的相应路径。 步骤5:在项目中引用 现在,你可以在其他Maven项目中通过以下方式引用这个本地添加的jar包: ```xml &lt;groupId&gt;...

    maven 中引入依赖的包

    当你需要引入一个新的依赖包时,你需要编辑`pom.xml`文件,添加相应的`&lt;dependency&gt;`标签。 例如,如果你想引入Spring框架的依赖,你可以这样写: ```xml &lt;groupId&gt;org.springframework &lt;artifactId&gt;spring-...

    java-maven本地仓库包大全

    使用Maven本地仓库包大全时,开发者可以将这些JAR文件复制到自己的Maven本地仓库(`~/.m2/repository`)中,以便在项目中直接引用。这尤其适用于那些难以从中央仓库获取或者公司内部私有库的依赖。为了保持仓库的整洁...

    maven依赖包(用于博客项目)

    1. **Maven仓库**: "repository(1)"这部分可能是指Maven本地或远程仓库中的一个部分,其中存储了项目所需的各种jar包。Maven通过仓库下载并管理依赖,使得开发者无需手动处理这些库。 2. **依赖管理**: Maven使用...

    Maven离线依赖包v2

    在使用Maven离线依赖包时,开发者需要将repository_2文件夹解压到本地Maven仓库目录下,通常是用户目录下的.m2\repository路径。这样,当项目构建时,Maven会首先在本地仓库查找依赖,而非去中央仓库下载。 使用...

    kettle7.2和8.2相关maven依赖包仓库

    kettle是国外开源的一款ETL集成工具,其最新版8.2版本改为了maven项目,由于其maven仓库下载实在太慢,这里提供了我费了一两天才下载好的依赖包,直接解压放在本地仓库即可。方便好使,好用的给个五星好评。

    maven本地仓库jar包

    当项目构建时,Maven会检查pom.xml中的依赖列表,并自动从预设的中央Maven仓库或者自定义的远程仓库下载这些依赖的jar包到本地仓库。本地仓库的默认路径通常是用户主目录下的`.m2\repository`。 "apache-maven-...

    清理本地和远程maven仓库repository中的无效或者垃圾版本文件lastUpdated、_remote等

    在项目中,使用maven加载依赖仓库时,有时因为网络卡顿或者配置pom.xml时,若下载不完整就会出现lastUpdated等文件。这些文件占内存,项目加载时耗时较久,有时会报错,需要及时清理。 1、工具作用:清理本地和远程...

    通过mvn命令下载pom.xml中的jar包

    4. 存储依赖:下载的jar包会被存储在本地Maven仓库中,默认路径为`~/.m2/repository/`。 批处理文件的用途可能是为了自动化这个过程,特别是在网络环境不稳定或者需要定期更新依赖的情况下,可以通过脚本预先下载...

Global site tag (gtag.js) - Google Analytics