公司交给我一个任务,把我们公司的项目,使用Maven打包成war包,部署到服务器下。我们项目引入了多个本地ar包,在部署的时候,发现本地的jar包没有引进来。经过研究解决!先记录如下
1、在pom.xml 引入外部的jar包
<dependency>
<groupId>taobao</groupId>
<artifactId>taobao</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>
${basedir}/lib/taobao.jar
</systemPath>
</dependency>
其中${basedir}代表项目根目录,这样就可以引入外部的jar包
其中 groupId,artifactId ,version 可以随意的命名,不过要通俗易懂
2 Maven 打包
打包命令
mvn package
因为maven 会执行测试文件,如果错误,则会打包失败,想要跳过测试文件,在后面加入
mvn package -DMaven.test.skip=true
重点来了
在pom.xml 我们项目有多个部署环境,默认是dev
其中Springboot 是通过 org.apache.maven.plugins 进行打包
所以要在这里
<profile>
<id>dev</id>
<activeByDefault>true</activeByDefault>
<dependencies>
<dependency>xxxx</dependency>
</dependencies>
<profile>
<build>
<!--在org.apache.maven.plugins 添加<resource>
添加外部的jar包所在的路径,就可以在打包的时候添加进去外部jar包了
</resource>-->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<webResources>
<resource>
<directory>lib</directory>
<targetPath>WEB-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</buidl>
当打包成war包的时候,
可以通过 java -jar xxxx.war 运行项目