如何更改 Grails 2 的 Tomcat 7 插件源

How to make changes to Tomcat 7 plugin source for Grails 2

我正在使用带有 Tomcat 7.0.54 插件的 Grails 2.3.11。我的 Java 版本是 1.8.0_181.
当我尝试使用 运行ning

启用的 https 启动 grails 应用程序时
grails run-app --https

我得到以下异常:

java.lang.ClassNotFoundException: com.ibm.crypto.tools.KeyTool

我找到了关于如何修复 Tomcat 插件中错误代码的答案:
但是我不知道如何应用我的更改。当我编辑 Tomcatserver.groovy 中的代码时,没有任何反应。我修改过的代码永远不会执行。

然后我发现 Tomcat 插件是一个 jar 文件(位于 "C:\Dev\myproject\webapp\target\work\plugins\tomcat-7.0.54\grails-plugin-tomcat-7.0.54.jar")并且当我构建我的项目时那个 jar 文件没有更新。
在我的 BuildConfig.groovy 中它说:

build ":tomcat:7.0.54"

...所以我尝试将其更改为:

compile ":tomcat:7.0.54"

但是当我尝试 运行 项目时,我得到另一个错误:

java.lang.NoClassDefFoundError: org/apache/catalina/startup/Tomcat at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.privateGetMethodRecursive(Class.java:3048) at java.lang.Class.getMethod0(Class.java:3018) at java.lang.Class.getMethod(Class.java:1784) at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: org.apache.catalina.startup.Tomcat at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 7 more
Error: A JNI error has occurred, please check your installation and try again

我想我缺少一些依赖项。
对 Tomcatserver.groovy 进行更改然后编译(并替换 jar 文件)的正确方法是什么?

我不知道是否还有其他方法,但我通过以下方式实现了它:

  • 正在从 Github 下载 Tomcat-插件源代码。
  • 对源代码进行了
  • 运行 grails upgrade.
  • 运行 grails package-plugin --binary.
  • 将新的 jar 文件 (target\grails-plugin-tomcat-7.0.54.jar) 复制到我的主项目的 tomcat 目录 (C:\Dev\myproject\webapp\target\work\plugins\tomcat-7.0.54\).
  • 开始我的主要项目 grails run-app --https

我现在可以在端口 8443 上使用 https 浏览我的站点。