Maven项目中的jar管理

本文介绍了如何在Maven项目中解决编译问题,通过配置将外部jar包加入编译路径,同时在IntelliJ中设置项目结构以正确加载这些依赖。此外,还详细说明了如何在生成WAR包时将所有依赖的jar包打包到WEB-INF/lib目录下,以确保部署时的兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、如何既依赖Maven管理的dependency,又依赖lib下的jar

有些项目的jar包不是在maven服务器上能够下载的,那么需要将这样的包放在项目的lib目录下,不过这样会导致maven打包时找不到包,报错。可以通过下面的配置解决这个问题:


<build>
    <pluginManagement>
        <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>
    <pluginManagement>
</build>
上面解决maven编译问题,下面还需要解决IntelliJ编译问题:


File > Project Structure > Libraries > New Project Library > ... > Attach Jar Directories


2、Maven webapp生成war包同时,将所有依赖jar生成到WEB-INF/lib

<build>
   <pluginManagement>
        <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-war-plugin</artifactId>
              <version>2.1</version> 

              <configuration>
                 <!-- 释放将项目的类文件打成jar到lib目录中。打成jar的好处是:只修改class时,可以只更新jar -->
                 <archiveClasses>true</archiveClasses>
                 <!-- <span>src/main/resources是默认的资源目录。
                     当archiveClasses=true时,resources中的文件资源会被打到jar中;
                     当archiveClasses=false时,resources中的文件资源在war的根目录。 -->
                 <webResources>
                     <resource>
                        <!-- config作为source folder,不会被打到jar中。 -->
                        <directory>src/main/config</direction>
                        <targetPath>WEB-INF/classes</targetPath>
                        <filtering>true</filtering>
		     </resource>
		</webResources>

		<!-- 将abc.jar排除
		<packagingExcludes>WEB-INF/lib/abc.jar</packagingExcludes>
		-->
               </configuration>

             </plugin>
        </plugins>
   </pluginManagement>
</build>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值