当前位置: 首页 > 知识库问答 >
问题:

如何使用maven执行第三方jar

葛鸿熙
2023-03-14

我正在使用Liquibase(通过其Maven插件)来处理数据库迁移。

然而,并非所有Liquibase功能都可以通过Maven获得。特别是Generate Changelog,只能通过命令行(使用可下载的liquibase.jar)使用如下命令:

java -jar liquibase.jar \
--driver=oracle.jdbc.OracleDriver \
--classpath=\path\to\classes:jdbcdriver.jar \ 
--changeLogFile=com/example/db.changelog.xml \
--url="jdbc:oracle:thin:@localhost:1521:XE" \ 
--username=scott \ 
--password=tiger \ 
generateChangeLog

如何通过Maven可移植地执行此命令?也就是说,我不想将liquibase.jar文件添加到我的项目结构中。

相反,我想将其列为一个依赖项(我可以手动将jar添加到我的本地存储库或Nexus代理),然后在使用Exec Maven插件的[Exec:java]或[Exec:Exec]目标时引用它,但我看不出如何使用具有这些目标的可执行jar来实现这一点(

如有任何建议,我们将不胜感激。

谢啦!

共有1个答案

薛泰
2023-03-14

我不知道,但也许这会对你有帮助。

尝试使用maven exec插件并将其作为mainClass配置参数:liquibase。整合。命令行。主要的

我从舱单上得到的。jar文件中的MF

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.2.1</version>
    <executions>
      <execution>
        ...
        <goals>
          <goal>java</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <mainClass>liquibase.integration.commandline.Main</mainClass>
      <arguments>
        <argument>--driver=oracle.jdbc.OracleDriver</argument>
        <argument>--changeLogFile=com/example/db.changelog.xml</argument>
        ...
      </arguments>
    </configuration>
  </plugin>
 类似资料:
  • mvn安装:install-file-dfile=~/dropbox/github/chatappserver/synthetica.jar-dgroupid=de.javasoft.plaf-dartifactid=synthetica-dversion=1.0.0-dpackaging=jar (这是针对syntheticablackeye.jar的) mvn安装:install-file-d

  • 我从其他团队收到了一个jar文件,需要在AEM中使用。我不能在AEM中直接使用jar,所以我在链接的帮助下将jar转换为捆绑包。”https://helpx.adobe.com/experience-manager/kb/ConvertAJarIntoOsgiBundle.html“,现在我的bundle已经准备好,并通过felix控制台上传到AEM中。bundle处于活动状态。现在我需要使用bu

  • 本文向大家介绍Angular 如何使用第三方库的方法,包括了Angular 如何使用第三方库的方法的使用技巧和注意事项,需要的朋友参考一下 Angular 的组件与模块看似好像与现有各种第三方类库(例如:lodash、moment 等)使用上有点格格不入,这很大的原因是 TypeScript 造成的假象。三足鼎立的前端其实都是雷同的,不管是哪种前端框架都可以使用到这些第三方类库。 以下我将从另一个

  • OpenResty 引用第三方 resty 库非常简单,只需要将相应的文件拷贝到 resty 目录下即可。 我们以 resty.http ( pintsized/lua-resty-http) 库为例。 只要将 lua-resty-http/lib/resty/ 目录下的 http.lua 和 http_headers.lua 两个文件拷贝到 /usr/local/openresty/lualib

  • 本文向大家介绍如何在 Vue.js 中使用第三方js库,包括了如何在 Vue.js 中使用第三方js库的使用技巧和注意事项,需要的朋友参考一下 在诸多 Vue.js 应用中, Lodash, Moment, Axios, Async等都是一些非常有用的 JavaScript 库. 但随着项目越来越复杂, 可能会采取组件化和模块化的方式来组织代码, 还可能要使应用支持不同环境下的服务端渲染. 除非你

  • 我已经下载了代数鸟,我想使用这个库在Scala解释器中试用一些东西。我如何实现这一点?