maven打包时加上本地jar

发布时间 2023-11-21 15:23:38作者: panda4671

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

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

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

2. 修改pom.xml文件,加上 dependency

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

4. 运行mvn install 将iar文件打包到本地仓库。

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>