maven中mvn install和mvn package打包时加上本地jar

在intellij中连接dremio数据库,可以连上。但是在新的linux环境中找不到driver。因此需要在打包时也加上本地dremio驱动jar包。

方法一:先将本地jar mvn install,再mvn package

1. 在intellij中project根目录创建lib文件夹,然后将dremio驱动文件放在 ${pom.basedir}/lib/ 中。

2. 修改pom.xml文件,加上如附件 dependency,主意要用 ${pom.basedir},尽量不要用${project.basedir},否则可能会出错。

3. intellij中编译运行,保证能通过。

4. 运行mvn install 将iar文件打包到本地仓库,可以用windows自带的command line,也可以用intellij中的 Execute Maven Goal。

mvn install:install-file -DgroupId=com.dremio.jdbc.Driver -DartifactId=dremio -Dversion=17.0.0-202107060524010627-31b5222b -Dpackaging=jar -Dfile=${pom.basedir}/lib/dremio-jdbc-driver-17.0.0-202107060524010627-31b5222b.jar

5. 将dependency 中有关jar文件地址的部分注释掉。

6.intellij中右上角Maven的图标中找到一个 m 的图标,tooltip为 Execute Maven Goal,执行 mvn package assembly:single

我这里在intellij中下面Terminal中执行命令失败,因为jdk不同。所以尽量不要在这里运行。

附pom.xml

  <dependency>
          <groupId>com.dremio.jdbc.Driver</groupId>
          <artifactId>dremio</artifactId>
          <version>17.0.0-202107060524010627-31b5222b</version>
          <!--scope>system</scope>
          <systemPath>${pom.basedir}/lib/dremio-jdbc-driver-17.0.0-202107060524010627-31b5222b.jar</systemPath-->
  </dependency>
  
  <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <mainClass>主程序入口.Main</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>

        </plugins>
    </build>

 有时候,dcap-common-test编译失败,是因为dcap-common-test会依赖dcap-integration-test里的方法,dcap-integration-test更新之后,dcap-common-test并没有拿到最新的jar。解决方法

intellij中,打开dcap-integration-test - 右上角,Maven工具栏选择 Execute Maven Goal(执行的小图标,其tooltip是Execute Maven Goal)- 输入 mvn install -DskipTests=true 执行,此步会更新.m2中的jar包 - 再重新编译dcap-common-test成功

posted @ 2023-11-21 15:18  panda4671  阅读(330)  评论(0编辑  收藏  举报