`
kavy
  • 浏览: 891014 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

解决Maven中使用很多本地jar包的编译问题

 
阅读更多

Maven依赖本地非repository中的jar包,依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理。

http://www.mamicode.com/info-detail-169419.html

Maven提供了scope为system的依赖,文档的原文如下:

system

This scope is similar to provided except thatyou have to provide the JAR which contains it explicitly.

The artifact is always available and is notlooked up in a repository.

 

这样就可以添加dependency而不需要再将WEB-INF/lib目录下的jar包安装到本地库中了。

具体配置录下:

<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>

 

如果只添加一个两个jar包,还比较方便,但是如果WEB-INF/lib/下面有几十个jar包,逐个添加就会显得很繁琐。最好是能方便配置WEB-INF/lib/目录,让该目录下所有jar包都参与编译。这个配置在maven-compiler-plugin中。配置编译参数<compilerArguments>,添加extdirs将jar包相对路径添加到配置中,如下:

 

<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>

 

通过配置maven-compiler-plugin 的compilerArguments可以方便在使用Maven的时候,还大量使用以前使用Ant的大批WEB-INF/lib下面的历史遗留jar包。

 

 

分享到:
评论

相关推荐

    解决idea使用maven编译正常但是运行项目时却提示很多jar包找不到的问题

    解决IDEA使用Maven编译正常但是运行项目时却提示很多jar包找不到的问题需要从多方面着手,检查IDEA中的.iml文件配置问题,Maven依赖项问题和IDEA项目结构配置问题等等。通过以上方法,应该可以解决大多数的问题。...

    news jar包maven资源

    要在Maven项目中使用"news jar包",你需要在`pom.xml`文件中添加对应的依赖。依赖定义了项目需要的jar包及其版本。例如,如果有一个名为`news-api-client`的库,它的Maven坐标可能是`...

    spring boot 项目 + maven本地仓库

    Maven拥有清理、编译、测试、打包、验证、集成测试、部署等阶段,通过执行如`mvn clean install`这样的命令,可以完成项目的构建,包括编译源码、运行测试和打包成可执行JAR。 4. Spring Boot starters: Spring ...

    自己使用的maven本地仓库2

    在“自己使用的maven本地仓库2”中,我们可以推测开发者可能在多个项目中使用了一些非标准或特定的库,这些库不在公共的Maven中央仓库中,而是被下载到这个自定义的本地仓库。这有助于减少网络延迟,提高构建速度,...

    maven仓库 org开头的jar

    在Maven的仓库中,我们经常会看到以`org`开头的jar包,这是因为`org`是Maven的一个顶级组织命名空间,通常代表开源组织或公司。在Java生态系统中,许多知名的开源库和框架都遵循这个命名约定,如Spring、Apache、...

    Maven离线依赖包v1

    总之,"Maven离线依赖包v1"是为了在离线环境中解决Java项目依赖问题的一个解决方案,它提供了大量的库文件,便于开发者在没有网络的情况下也能进行正常的开发工作。正确配置和使用离线依赖包,可以极大地提高开发...

    Maven自动升级版本号并打包上传的脚本

    SNAPSHOT版本表示开发中的版本,每次构建都会生成新的JAR或WAR包;而RELEASE版本则表示稳定发布版,一旦确定就不会轻易改变。在开发过程中,自动升级版本号能确保每次构建都有唯一的标识。 标题提到的“Maven自动...

    接口调用jar包

    在Java中,进行HTTP接口调用的方法有很多,例如使用HttpURLConnection、Apache HttpClient、OkHttp等。这些库提供了丰富的功能,如发送GET、POST、PUT等请求,处理响应,设置请求头,管理Cookie,以及支持异步调用等...

    KETTLE工具的相关jar包 下载直接使用即可

    10. **其他插件库**:Kettle有一个开放的插件机制,很多社区开发的插件也会提供相应的jar包,如`pentaho-kettle-plugins-get-sql.jar`用于获取数据库表结构,`pentaho-kettle-plugins-hadoop-cluster-ui.jar`用于...

    maven 简单使用教程

    Maven的最新版本为2.0.9,但需要注意的是,Maven2与早期的Maven1在很多方面存在显著差异,因此在查阅第三方文档时需明确区分这两个版本。 1. Maven资源: - Maven官方网站:获取最新版本、文档和社区支持。 - The...

    爬虫需要jar包

    在本场景中,"爬虫需要jar包"指的是在构建和执行爬虫程序时,需要用到Java Archive(JAR)文件,这是一种Java平台特有的归档格式,用于集合多个Java类文件和其他资源。JAR文件通常包含类库、元数据和相关的代码,...

    maven使用文档,maven使用文档

    - Maven 允许在 POM 文件中使用 exclusions 来排除不需要的依赖。 - 例如,如果一个依赖项引入了一个不需要的依赖,可以通过 `&lt;exclusions&gt;` 节点来排除它。 9. **settings.xml 文件详解** - **Local ...

    东方通开发需要的jar包

    这个压缩包文件"东方通开发需要的jar包"很可能是包含了用于与东方通产品进行集成或者开发相关应用所需的库文件。这些jar包是Java开发中的重要组成部分,它们封装了各种功能,使得开发者可以快速构建和部署应用,而...

    黑马视频 用到的所有jar包

    标题中的“黑马视频 用到的所有jar包”指的是在学习或开发过程中,使用了黑马程序员提供的视频教程中涉及到的一系列Java Archive(JAR)文件。这些JAR包是Java编程语言中的一种归档格式,主要用于封装Java类库,包含...

    jredis源码以及maven编译后的jar文件支持redis3.0

    使用Maven编译`jredis`源码,可以确保所有依赖项都正确引入,且最终的`jar`文件包含了编译后的类和资源,可以直接在其他Java项目中引用。 5. **Maven配置**:`pom.xml`文件定义了项目的构建过程、依赖关系和插件...

    jar反编译工具

    在实际应用中,常用的JAR反编译工具有很多,例如: 1. **JD-GUI**:这是一个图形用户界面工具,可以直接打开JAR或单个.class文件,快速查看源代码。它不支持代码编辑或保存,但适合快速查看。 2. **JAD**:...

    Idea打包jar包

    其中,“打包”功能是Idea的一个重要特性,能够方便地将项目编译成可执行的jar包或war包等,便于程序的分发和运行。 #### 一、为什么要使用Idea进行打包? 1. **便捷性**:通过Idea内置的功能可以直接完成项目的...

    Java 视频按帧分解成图片的maven包

    “懒得下载或网络不好的,直接下载此包,放到本地的maven仓库”是指如果你不想等待Maven自动下载依赖,可以手动下载压缩包,解压后将对应的JAR文件移动到本地Maven的`.m2\repository`目录下,这样Maven就能找到这些...

    java各种jar包集合

    使用jar包的方法通常有两种:通过`Class-Path`属性在`MANIFEST.MF`文件中指定,或者在Java命令行中使用`-cp`或`-classpath`参数。另外,`jar`工具是Java SDK自带的一个命令行工具,可以用来创建、提取或更新jar包。 ...

    maven安装和使用

    2. **依赖管理**:Maven的依赖管理机制更为强大,能够清晰地定义每个依赖的版本号,而Ant通常需要手动包含所有jar包,难以追踪具体版本。 3. **中央仓库**:Maven利用中央仓库来存储所有依赖项,这意味着在构建时,...

Global site tag (gtag.js) - Google Analytics