簡體   English   中英

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

[英]How to make changes to Tomcat 7 plugin source for Grails 2

我正在將Grails 2.3.11與Tomcat 7.0.54插件一起使用。 我的Java版本是1.8.0_181。
當我嘗試通過運行啟動啟用https的grails應用程序時

grails run-app --https

我得到以下異常:

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

我找到了有關如何解決Tomcat插件中錯誤代碼的答案: https : //stackoverflow.com/a/44673672/1037864
但是,我不知道如何使更改生效。 當我在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(本地方法)at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)at java.lang.Class.privateGetMethodRecursive (java.lang.Class.getMethod0(Class.java:3018)處的java.lang.Class.getMethod(Class.java:1784)處的java.lang.Class.getMethod0(Class.java:1784)處的sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java: 544)在sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
由以下原因導致:java.lang.ClassNotFoundException:org.apache.catalina.startup.Tomcat at java.net.URLClassLoader.findClass(URLClassLoader.java:381)at java.lang.ClassLoader.loadClass(ClassLoader.java:424) .misc.Launcher $ AppClassLoader.loadClass(Launcher.java:349)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)...還有7個
錯誤:發生了JNI錯誤,請檢查您的安裝並重試

我想我缺少一些依賴項。
對Tomcatserver.groovy進行更改然后進行編譯(並替換jar文件)的正確方法是什么?

我不知道是否還有另一種方法,但是我通過以下方法使它起作用:

  • Github下載Tomcat插件源代碼。
  • 對源代碼進行了更改
  • grails upgrade
  • 跑了grails package-plugin --binary
  • 將新的jar文件( target\\grails-plugin-tomcat-7.0.54.jartarget\\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瀏覽到我的站點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM