maven打war包将第三方jar包放入war包下的lib目录下

本文详细介绍了如何在Maven项目中正确配置第三方jar包的引入,包括使用aspose-cad-19.9.jar的具体步骤。通过配置maven-war-plugin和spring-boot-maven-plugin,确保第三方库能够被正确包含在最终的war包中。
<dependency>
            <groupId>com.aspose</groupId>
            <artifactId>aspose-cad</artifactId>
            <version>19.9</version>
            <scope>system</scope>
            <systemPath>${basedir}/lib/aspose-cad-19.9.jar</systemPath>
</dependency>

项目中引入了这个第三方jar包
maven打包时

           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <webResources>
                        <webResource>
                            <directory>${basedir}/lib</directory>
                            <targetPath>WEB-INF/lib/</targetPath>
                            <includes>
                                <include>**/*.jar</include>
                            </includes>
                        </webResource>
                    </webResources>
                </configuration>
            </plugin>

将第三方jar包路径 与targetpath 对应war包的lib目录

			<plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>

将第三包打入war包配置

<think>好的,我需要帮助用户将Maven项目从生成WAR改为生成JAR。首先,我应该回忆Maven的基本配置方式。用户可能正在开发一个Web应用,但现在需要将其作为可执行的JAR运行,比如Spring Boot应用。 首先,用户需要修改pom.xml中的packaging标签,将war改为jar。这是最基本的步骤,但可能还不够,特别是如果需要生成可执行的JAR。接下来,可能需要添加maven-jar-plugin来配置主类,这样java -jar命令可以找到入口点。不过,如果项目有依赖,还需要处理依赖库的打,这时候可能需要maven-assembly-plugin或maven-shade-plugin,不过用户提到的是使用maven-jar-plugin和maven-dependency-plugin组合的方法,这在引用[1]中有提到。 另外,用户可能需要配置编译器版本,如引用[3]所示,设置Java版本和编码,确保编译正确。如果项目之前是Web项目,可能有与War相关的插件配置,需要移除或注释掉,比如maven-war-plugin。 还要注意依赖管理,确保所有依赖正确引入,避免像引用[4]中提到的jar冲突或日志配置问题。如果用户需要将依赖打JAR中,需配置maven-dependency-plugin来复制依赖到指定目录,并在MANIFEST.MF中指定Class-Path,但更简单的方式是使用spring-boot-maven-plugin,如果这是一个Spring Boot项目的话。 用户的问题可能没有说明是否是Spring Boot,所以需要提供通用的方法。同时,可能需要指导如何构建和部署,比如使用mvn package或部署到私服,如引用[2]中的命令示例。另外,考虑配置文件处理,如引用[5]提到的资源过滤和环境配置,确保打后的JAR含正确的配置文件。 总结步骤:1.修改packaging为jar;2.配置主类;3.处理依赖;4.构建插件配置;5.编译设置。同时,给出示例pom.xml片段,并说明相关插件的作用。还要提醒用户检查原有的Web相关配置是否需要调整,避免冲突。</think>要将Maven项目从生成WAR改为生成JAR,需通过修改`pom.xml`配置文件实现。以下是具体步骤及配置方法: --- ### 1. **修改打类型** 将`<packaging>`标签的值从`war`改为`jar`: ```xml <project> <packaging>jar</packaging> </project> ``` --- ### 2. **配置主类(可执行JAR)** 若需要生成可执行JAR,需指定主类入口。使用`maven-jar-plugin`插件: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.3.0</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>com.example.MainClass</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build> ``` - `mainClass`:替换为实际的主类全限定名。 - `addClasspath`和`classpathPrefix`:用于指定依赖路径(需结合`maven-dependency-plugin`复制依赖)[^1]。 --- ### 3. **处理依赖库(可选)** 若需将依赖打JAR中或生成含依赖的“胖JAR”,可选用以下方案: #### 方案一:分离依赖目录 使用`maven-dependency-plugin`将依赖复制到`target/lib`目录: ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.6.0</version> <executions> <execution> <id>copy-dependencies</id> <phase>prepare-package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin> ``` #### 方案二:生成含依赖的胖JAR 使用`maven-assembly-plugin`或`maven-shade-plugin`: ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.5.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.example.MainClass</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> ``` --- ### 4. **移除WAR相关配置** 若原项目配置了`maven-war-plugin`,需注释或删除: ```xml <!-- 注释或删除以下配置 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> ... </plugin> ``` --- ### 5. **配置编译参数(可选)** 确保Java版本和编码正确,如引用[3]所示: ```xml <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> ``` --- ### **完整示例** ```xml <project> <packaging>jar</packaging> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.3.0</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>com.example.MainClass</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.6.0</version> <executions> <execution> <id>copy-dependencies</id> <phase>prepare-package</phase> <goals> <goal>copy-dependencies</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project> ``` --- ### **构建命令** ```bash mvn clean package ``` 生成的JAR位于`target/`目录下。若需部署到Maven私服,可参考引用[2]的命令。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值