来自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项目中正确配置依赖于本地非repository中的JAR包。 ### Maven依赖本地JAR包的方法 #### 1. 使用`<systemPath>`标签 Maven提供了`<scope>system</scope>`这一特殊作用域,用于指定本地...
总的来说,Doris 1.1.3 源码编译 Broker Maven 依赖包 Repository 的过程涉及到对Maven的熟练运用,包括理解`pom.xml`文件,管理依赖,配置Repository,以及编译和打包操作。只有对这些知识点有深入的理解,才能顺利...
4. **本地Maven仓库**:Maven会将下载的jar包存储在用户的`.m2/repository`目录下,这样在同一个机器上的其他项目如果也需要同样的依赖,就可以直接从本地仓库获取,无需再次下载。 5. **批处理脚本**:描述中提到...
Maven的本地仓库是Maven系统的核心组件之一,它存储着项目所需的各类依赖库,包括JAR包。当你在开发过程中引用了一个库,Maven会尝试从中央仓库下载该库到本地仓库,以便后续的编译和构建步骤能够访问到。 本地仓库...
### Springboot 打Jar包,Maven完美解决本地Jar包自动打入Springboot Jar包中 #### 背景介绍 随着微服务架构的流行,Spring Boot 成为了开发微服务应用时首选的技术栈之一。它简化了传统的Java Web应用程序的开发...
在Maven中,我们通过在`pom.xml`文件中定义依赖来引入Kafka相关的jar包。 标题中提到的"Maven搭建Kafka Java开发环境需要的jar包",意味着我们需要为Maven项目配置Kafka的依赖。首先,我们需要在项目的`pom.xml`...
当我们在项目中引入POM依赖时,Maven会自动从远程仓库下载对应的jar包到本地仓库,以便于项目的构建和运行。然而,有时由于网络问题、仓库服务器故障或者缓存问题,可能会导致jar包下载不完整或者出现错误,从而影响...
7. **本地 Maven 仓库**:Maven 下载的 jar 包会被存储在用户的本地仓库中,默认路径通常是 `${user.home}/.m2/repository/`,这样在后续项目中再次引用相同依赖时,就无需重新下载。 8. **版本管理**:在 Maven 中...
这会将你的jar包安装到你的本地Maven仓库中,通常是`~/.m2/repository`目录下的相应路径。 步骤5:在项目中引用 现在,你可以在其他Maven项目中通过以下方式引用这个本地添加的jar包: ```xml <groupId>...
当你需要引入一个新的依赖包时,你需要编辑`pom.xml`文件,添加相应的`<dependency>`标签。 例如,如果你想引入Spring框架的依赖,你可以这样写: ```xml <groupId>org.springframework <artifactId>spring-...
使用Maven本地仓库包大全时,开发者可以将这些JAR文件复制到自己的Maven本地仓库(`~/.m2/repository`)中,以便在项目中直接引用。这尤其适用于那些难以从中央仓库获取或者公司内部私有库的依赖。为了保持仓库的整洁...
1. **Maven仓库**: "repository(1)"这部分可能是指Maven本地或远程仓库中的一个部分,其中存储了项目所需的各种jar包。Maven通过仓库下载并管理依赖,使得开发者无需手动处理这些库。 2. **依赖管理**: Maven使用...
在使用Maven离线依赖包时,开发者需要将repository_2文件夹解压到本地Maven仓库目录下,通常是用户目录下的.m2\repository路径。这样,当项目构建时,Maven会首先在本地仓库查找依赖,而非去中央仓库下载。 使用...
kettle是国外开源的一款ETL集成工具,其最新版8.2版本改为了maven项目,由于其maven仓库下载实在太慢,这里提供了我费了一两天才下载好的依赖包,直接解压放在本地仓库即可。方便好使,好用的给个五星好评。
当项目构建时,Maven会检查pom.xml中的依赖列表,并自动从预设的中央Maven仓库或者自定义的远程仓库下载这些依赖的jar包到本地仓库。本地仓库的默认路径通常是用户主目录下的`.m2\repository`。 "apache-maven-...
在项目中,使用maven加载依赖仓库时,有时因为网络卡顿或者配置pom.xml时,若下载不完整就会出现lastUpdated等文件。这些文件占内存,项目加载时耗时较久,有时会报错,需要及时清理。 1、工具作用:清理本地和远程...
4. 存储依赖:下载的jar包会被存储在本地Maven仓库中,默认路径为`~/.m2/repository/`。 批处理文件的用途可能是为了自动化这个过程,特别是在网络环境不稳定或者需要定期更新依赖的情况下,可以通过脚本预先下载...