Grails 3.3.2 部署到 Jetty 9.1.4.v20140401
Grails 3.3.2 deployment to Jetty 9.1.4.v20140401
如何构建我的 Grails 3.3.2 应用程序以将其部署到我提供的 Jetty 9.1.4 中(非嵌入式)?
我正在尝试 运行 我的 Grails 3.3.2 应用程序在 Jetty (v 9.1.4) 容器中。我将以下内容添加到我的 build.gradle 文件中。
ext['jetty.version'] = '9.1.4.v20140401'
并尝试了 Spring 引导容器启动器的几种组合。
compile "org.springframework.boot:spring-boot-starter-actuator"
provided "org.springframework.boot:spring-boot-starter-tomcat"
compile "org.springframework.boot:spring-boot-starter-jetty"
但我仍然遇到错误。
2018-08-15 17:07:49.375:INFO:oejs.Server:main: jetty-9.1.4.v20140401
2018-08-15 17:07:51.722:WARN:oejj.ObjectMBean:main:
java.lang.NoClassDefFoundError: org/eclipse/jetty/jmx/ObjectMBean
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access0(URLClassLoader.java:73)
at java.net.URLClassLoader.run(URLClassLoader.java:368)
at java.net.URLClassLoader.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:427)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:389)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access0(URLClassLoader.java:73)
at java.net.URLClassLoader.run(URLClassLoader.java:368)
我可以在嵌入 Jetty 或 Tomcat 时 运行 应用程序,但不能从我的容器中。
我从我的项目中构建 war,如下所示。
grails war
2 件事。
您缺少 jetty-jmx-<version>.jar
对 NoClassDefFoundError 的依赖。
Jetty 9.1.x EOL (End of Life),考虑升级。 https://www.eclipse.org/jetty/documentation/current/what-jetty-version.html
如何构建我的 Grails 3.3.2 应用程序以将其部署到我提供的 Jetty 9.1.4 中(非嵌入式)?
我正在尝试 运行 我的 Grails 3.3.2 应用程序在 Jetty (v 9.1.4) 容器中。我将以下内容添加到我的 build.gradle 文件中。
ext['jetty.version'] = '9.1.4.v20140401'
并尝试了 Spring 引导容器启动器的几种组合。
compile "org.springframework.boot:spring-boot-starter-actuator"
provided "org.springframework.boot:spring-boot-starter-tomcat"
compile "org.springframework.boot:spring-boot-starter-jetty"
但我仍然遇到错误。
2018-08-15 17:07:49.375:INFO:oejs.Server:main: jetty-9.1.4.v20140401
2018-08-15 17:07:51.722:WARN:oejj.ObjectMBean:main:
java.lang.NoClassDefFoundError: org/eclipse/jetty/jmx/ObjectMBean
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access0(URLClassLoader.java:73)
at java.net.URLClassLoader.run(URLClassLoader.java:368)
at java.net.URLClassLoader.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:427)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:389)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access0(URLClassLoader.java:73)
at java.net.URLClassLoader.run(URLClassLoader.java:368)
我可以在嵌入 Jetty 或 Tomcat 时 运行 应用程序,但不能从我的容器中。
我从我的项目中构建 war,如下所示。
grails war
2 件事。
您缺少
jetty-jmx-<version>.jar
对 NoClassDefFoundError 的依赖。Jetty 9.1.x EOL (End of Life),考虑升级。 https://www.eclipse.org/jetty/documentation/current/what-jetty-version.html