`
357029540
  • 浏览: 727812 次
  • 性别: 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仓库repository中的无效或者垃圾版本文件lastUpdated、_remote等

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

    maven-repository-metadata-2.2.1.jar中文-英文对照文档.zip

    Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【***-sources.jar下载地址(官方地址+国内镜像地址).txt】...

    maven私库nexus批量上传jar工具

    go语言写的一个工具,用于批量上传本地仓库的jar到nexus私库。目前只有exe没有生成linux脚本。文件夹中有使用说明。 .\mvnDeployTool.exe -r C:\\Users\\yyc\\.m2\\repository\\org\\apache\\maven -s D:\devEnv\...

    java集成kettle相关jar包

    由于无法从Maven repository中下载依赖,因此提供kettle相关的jar包需要手动安装到maven仓库中,并提供了pom.xml作为参考

    Maven 权威指南 非扫描版

    4、配置maven的本地仓库 为&lt;localRepository&gt;E:\developTools\mavenRepository&lt;/localRepository&gt; 二、使用命令创建一个maven 工程 1、创建一个简单的maven : mvn archetype:create -DgroupId=...

    netty-resolver-dns-4.1.73.Final-API文档-中文版.zip

    赠送Maven依赖信息文件:netty-resolver-dns-4.1.73.Final.pom; 包含翻译后的API文档:netty-resolver-dns-4.1.73.Final-javadoc-API文档-中文(简体)版.zip; Maven坐标:io.netty:netty-resolver-dns:4.1.73.Final...

    QRCode及其maven引入方法

    现如今二维码应用越来越广泛,网上也出现了许多在线生成二维码的api但应用于开发风险较大,还是采用官方jar包生成稳定可靠

    HikariCP-4.0.3-API文档-中文版.zip

    赠送Maven依赖信息文件:HikariCP-4.0.3.pom; 包含翻译后的API文档:HikariCP-4.0.3-javadoc-API文档-中文(简体)版.zip; Maven坐标:com.zaxxer:HikariCP:4.0.3; 标签:zaxxer、HikariCP、jar包、java、中文文档...

    freemarker-2.3.30-API文档-中文版.zip

    赠送Maven依赖信息文件:freemarker-2.3.30.pom; 包含翻译后的API文档:freemarker-2.3.30-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.freemarker:freemarker:2.3.30; 标签:freemarker、中文文档、jar包...

    simpleclient_tracer_otel-0.12.0.jar中文-英文对照文档.zip

    Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【***-sources.jar下载地址(官方地址+国内镜像地址).txt】...

    maven的优缺点 项目

    Pom:文件夹,jar和war文件,mavenProject:一个项目,可以放jar和war包,通过pom,一般新创建的maven Project是POM 3.4.创建一个Maven Model 最外面的项目是MavenProject,其它的全部是Maven Model 3.4.1.创建JAR 目录...

    Java 添加文本框到 PPT 幻灯片.docx

    JAR包导入 方法一: 下载Free Spire.Presentation for Java包并解压缩,然后将lib文件夹下的jar包作为依赖项直接导入到Java应用程序中。 方法二: 通过Maven仓库安装jar包,配置pom.xml文件的代码如下:

    设置Maven仓库-Artifactory

    Maven 仓库的目的主要是作为团队内所使用的所有软件构件的内部私有构件仓库,将 Maven 构件(jar 和 pom)存储到一个专门的 Maven 仓库比将它们存储到版本控制系统中更有优势。这是因为构件(jar)是二进制文件,不...

    Maven2 的新特性.7z

    • system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。 的使用举例: &lt;groupId&gt;hibernate &lt;artifactId&gt;hibernate &lt;version&gt;3.0.3 &lt;scope&gt;test 7. 传递依赖,简化依赖管理 在...

    lz4-java-1.4.0-API文档-中文版.zip

    赠送Maven依赖信息文件:lz4-java-1.4.0.pom; 包含翻译后的API文档:lz4-java-1.4.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.lz4:lz4-java:1.4.0; 标签:java、lz4、jar包、java、中文文档; 使用方法...

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven权威指南 Authors Tim O'Brien (Sonatype, Inc.) , John Casey (Sonatype, Inc.) , Brian Fox (Sonatype, Inc.) , Bruce Snyder () , Jason Van Zyl (Sonatype, Inc.) , Juven Xu () Abstract Maven权威指南...

    plexus相关jar包

    Failure to transfer org.codehaus.plexus:plexus-archiver:pom:1.0 from http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update ...

    maven入门到精通

    Maven 的基本原理很简单,采用远程仓库和本地仓库以及一个类似 build.xml 的 pom.xml ,将 pom.xml 中定义的 jar 文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的 jar ,同一个版本的 jar 只需下载一次...

    mchange-commons-java-0.2.15.jar找不到的问题的解决

    c3p0连接mysql8.0.11需要外加mchange-commons-java-0.2.15.jar,maven的pom.xml 中配置了,但是项目中报找不到mchange-commons-java-0.2.15.jar这个文件,可以把此文件下载后,然后解压后把对应的jar包放到maven 库...

    mosec-maven-plugin:用于检测maven项目的第三方依赖组件是否存在安全漏洞

    用于检测maven项目的第三方依赖组件是否存在安全漏洞。 该项目是基于的二次开发。 关于我们 网址: : 微信: 版本要求 Maven&gt; = 3.1 安装 向pom.xml中添加plugin仓库(项目级安装) &lt;!-- pom.xml --&gt; ...

Global site tag (gtag.js) - Google Analytics