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

如何使用自定义更改java类在命令行上运行Liquibase?

唐钊
2023-03-14

我正在尝试从命令行运行liquibase更新。然而,我的changelog文件中有一个customChange,即一个实现liquibase的Java文件。改变风俗自定义更改。通过Spring运行时,更新成功。然而,当我试图通过命令行使用

liquibase --changeLogFile=<my_changelog_file> --username=<my_user> --password=<my_password> --url=<my_url> --driver=org.postgresql.Driver --classpath='<path_to>/postgresql-42.2.8.jar:<absolute_path_to_my_jar.jar>' update

我收到以下错误:

Liquibase Community 3.8.6,运行Liquibase时出现意外错误:Liquibase。解析器。果心ParsedNodeException:液化酶。例外CustomChangeException:java。lang.ClassNotFoundException:com。

出于安全原因,我模糊了我传入的任何真实值。有人知道如何让liquibase找到这个文件吗?我尝试创建一个仅包含必要文件的jar并将该jar添加到类路径中,但这似乎不起作用,因为jar不包含任何主类。

跑步

jar tf <my_jar.jar>

结果:

META-INF/
META-INF/MANIFEST.MF
com/<my_company>/platform/changeset/EncryptPasswordsChangeset.java
com/<my_company>/platform/security/PasswordEncryptUtil.java
com/<my_company>/platform/encrypt/SymmetricCipher.java

共有1个答案

长孙德惠
2023-03-14

我的jar格式不正确。应该使用编译的. class文件构建它,而不是. java文件。

 类似资料:
  • 问题内容: Scenerio:我想通过ssh从Java程序在远程机器上运行命令(我在开发机器上使用OpenSSH)。我也想通过传递密码来建立ssh连接,而不是像使用“期望”那样设置密钥。 问题:尝试执行“期望”之类的密码登录时,使用ProcessBuilder创建的流程似乎看不到密码提示。当运行常规的非ssh命令(例如’ls’)时,我可以获取流并与它们进行交互。我将标准错误和标准输出合并为一个流因

  • 我在一个项目中,目前构建了26个JAR(+6如果我们算上仅测试的JAR)。出于性能原因,我们希望将它们全部组合到单个可执行文件中。这是在windows机器上,具有graalvm-ce-java11-20.0.0。我们在用IntelliJ和Gradle。我现在只是想出一个命令行,在我尝试在Gradle中复制它之前,它甚至可以工作一点点。Gradle还不在图片中,因此缺少适当的标记。 我想尽了一切办法

  • 问题内容: 我知道可以在运行时通过JavaScript添加新的CSS类定义。但… 如何在运行时更改/删除CSS类定义? 例如,假设我有以下课程: 我想要的是在运行时更改类的规则,以便使用该类的页面中的每个元素都将受到影响。 而且,我也想知道如何删除类定义。 问题答案: 在运行时更改CSS规则并不难,但是显然很难找到想要的规则。PPK可以在quirksmode.org上对此进行快速浏览。 您将要使用

  • 当我在终端中点击curl代码时,我得到了200,所以我假设我编写testStytch的方式到目前为止还可以。但是,一旦我试图集成到java文件中,我就会收到错误的请求响应。我现在有点不知所措。https://github.com/libetl/curl这就是我所说的转换curl代码。 这是我得到的错误。https响应代理{HTTP/1.1 400错误请求[日期:星期四,2021 23:21:424

  • 有一个叫做“袖扣”的程序,运行方式如下: 本程序以1个文件作为输入,在“output-dir”中生成4个文件作为输出。 多谢了。