问题标签 [gretty]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Spring:为什么在单元测试中加载应用程序上下文时需要添加 javax.el-api 依赖项?
我用 spring-mvc 创建了一个简单的 Spring 5 应用程序。在我的一个模型对象中,我使用 bean 验证(hibernate-validator)。我添加了以下配置以使其全部正常工作:
当使用 Gretty 启动我的完整应用程序时,一切都按预期工作。但是当我运行以下测试时......
...它给了我以下堆栈跟踪:
现在我知道我可以通过将以下依赖项添加到我的 build.gradle 来修复它:
compile group: 'org.glassfish', name: 'javax.el', version: '3.0.0'
我也可以通过不加载我的 ApplicationContext 来解决这个问题(在测试中注释掉@ContextConfiguration(classes = {WebConfig.class}))。
但我不明白为什么我的代码在使用 Gretty 运行时运行良好,但在测试中配置失败。谁能向我解释这是为什么?
PS:这是我的 build.gradle:
java - Gretty / Jetty 无法使用 java 11、Jetty 9.4.14、gretty 加载 WebAppContext
我尝试使用:
- 爪哇 11
- RestEasy 4.1.0.Final
- 码头 9.4.19.v20190610
- 来自https://raw.github.com/gretty-gradle-plugin/gretty/master/pluginScripts/gretty.plugin的 gretty-gradle-plugin
使用以下子项目 build.gradle :
但是当我尝试使用以下方式运行我的服务器时:gradlew clean build runApp
我得到以下异常:
并且服务器没有加载我的 Servlet ......
有没有人遇到过这个问题并找到了解决方案?
gradle - 使用 farmRun 任务时不应用 Gretty 配置
我使用的 Gretty 示例来自:https ://github.com/gretty-gradle-plugin/gretty-sample 在 master build.gradle 我只修改了存储库 URL(使用镜像存储库到期代理):
构建.gradle:
你可以看到端口被指定为:
httpPort = 8011
在子项目部分下。当我运行 gradle
毕业:农场运行
它报告:
所以码头仍在尝试使用默认端口 8080。感谢您的任何提示。
gradle - 如何使用 Gretty 插件在 Jetty 中运行我的 WAR?
我目前的目标是让 gradle 启动在我机器上的 Jetty 实例中运行的 Web 应用程序,以便我可以针对它编写 Selenium 测试。Gretty 插件似乎正在加载,但我无法找到有关如何创建和配置任务来执行此操作的任何实际说明。
部分问题在于 Gretty 插件的不同版本和版本存在混淆。一开始就加载它是一个反复试验的练习。
我正在尝试使用 Gradle 5.4.1 和 Gretty 2.3.1,我相信它们是当前版本(此时)。
我有三个子项目“laoi”依赖于“aofl”依赖于“efl”。laoi 构建生成一个 WAR 文件。任务 appRunWar 似乎想要创建和运行它自己的 WAR 文件,而不是使用我的(至少这似乎是正在发生的事情)。
设置.gradle:
build.gradle (laoi):
java - Jetty JNDI 资源失败:“java.lang.ClassNotFoundException: oracle.jdbc.pool.OracleDataSource”
当我启动 Jetty(通过 Gretty 插件)时,我得到了 CNF 异常。当我跑
gradlew :MyWebApplication:appRun -ds > g.log 我在调试中看到以下配置:
这是jetty.xml:
它是 Oracle JNDI DS 的 Jetty 服务器配置。不幸的是,Gretty 插件报告“配置错误”,但没有详细信息:
和 Jetty ClassLoader 产生:
这显然是 CL 问题,但我不知道在哪里添加 ojdbc.jar 以供码头使用。(我不喜欢将它添加到 java.class.path 系统属性中,但喜欢仅将它用于构建中的所有 Web 应用程序)。
java - Gretty,从存储库设置“模块指定的库”
我询问了类似的问题jetty-jndi-resource-fails only using Jetty,Jetty 文档将其描述为Jetty: startup-classpath。
现在我喜欢使用“模块指定的库”并将其设置为 Gretty 作为存储库依赖项。我在 Getty doc: Gretty-configuration中没有找到类似的东西。我还搜索 Gretty: integratin-test Git 以获取任何可用的示例,但没有结果。
Gretty 是否不支持此 Jetty 功能?或者无论如何都可以设置--module=ext参数?任何人都可以使用:farmRun让我知道如何以任何清晰的方式处理服务器提供的外部库,这些库通过农场中的多个 Web 应用程序共享?
java - 在 gradle 指南中构建 Java Web 应用程序会在打开 jsp 文件时引发许多错误
我正在尝试使用 Java、eclipse 插件 Gradle 和 Gradle 的插件“war”和“gretty”开始使用 Web 应用程序(使用 gretty 的默认网络服务器 Jetty)
Web 服务器通常可以工作,但打开 jsp 文件会导致 500 错误。
我只尝试重建本教程:https ://guides.gradle.org/building-java-web-applications/
正如Gradle - Building Java Web Applications中所述,该指南不是最新的。因此,我尝试使用每个插件的最新版本,但以下错误并没有消失。
build.gradle 有以下内容:
我已经尝试了注释插件/依赖项的所有可能组合。
HelloServlet 的简化版:
response.jsp 的内容
我试图在 Windows 和 Mac 上设置它。一旦我使用了 gradle 不是最新的默认 gradle 包装器。还有一次我尝试使用更新的本地 gradle 发行版(5.5.1)。而且我使用的是 OpenJDK 12.0.2 - 而不是 Java EE 版本。
调用response.jsp时的错误:
我能做些什么来解决这个问题?我没有主意了。
先感谢您!
java - 如何配置 Jetty 9 使用 Gretty 监听多个端口
如何配置 Jetty 9 以使用 Gretty 监听多个端口。我只想将 Jetty 配置为侦听多个端口。我不想要多个实例或多个 webapps,只需要一个 Jetty,一个 webapp,但要监听 2 个或更多端口。
我尝试添加serverConfigFile = file("src/main/webapp/WEB-INF/jetty-webserver.xml")
Gretty 配置,但随后出现以下错误。
jetty-webserver.xml
java.lang.ClassLoader.loadClass(ClassLoader.java) 处的 java.net.URLClassLoader.findClass(URLClassLoader.java:382) 处的线程“主”java.lang.ClassNotFoundException 中的异常:org.eclipse.jetty.server.nio.SelectChannelConnector :424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) 在 org.eclipse.jetty.util.Loader.loadClass(Loader. java:86) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.nodeClass(XmlConfiguration.java:364) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:754) at org.eclipse org.eclipse.jetty.xml 中的 .jetty.xml.XmlConfiguration$JettyXmlConfiguration.itemValue(XmlConfiguration.java:1125)。XmlConfiguration$JettyXmlConfiguration.value(XmlConfiguration.java:1030) 在 org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.call(XmlConfiguration.java:721) 在 org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration. java:417) 在 org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:298) 在 org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:248) 在 org.eclipse.jetty .xml.XmlConfiguration$configure.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite. java:116) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128) at org.akhikhl.gretty.JettyConfigurerImpl.applyJettyXml(JettyConfigurerImpl.groovy:63) at org.akhikhl.gretty.JettyConfigurer$applyJettyXml$0.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray .defaultCall(CallSiteArray.java:47) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:136) ) 在 org.akhikhl.gretty.JettyServerConfigurer.createAndConfigureServer(JettyServerConfigurer.groovy) 在 org.akhikhl.gretty.JettyServerConfigurer.createAndConfigureServer(JettyServerConfigurer.groovy:65) 在org.codehaus.groovy.runtime。callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.call(AbstractCallSite.java:116) java:120) at org.akhikhl.gretty.JettyServerManager.startServer(JettyServerManager.groovy:44) at org.akhikhl.gretty.ServerManager$startServer$0.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray .defaultCall(CallSiteArray.java:47) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128) ) 在 sun.reflect.NativeMethodAccessorImpl 的 org.akhikhl.gretty.Runner.run(Runner.groovy:121)。在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java: 43) 的 invoke0(Native Method) 498) 在 org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:71) 在 org.codehaus. .groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite .call(AbstractCallSite.java:120) 在 org.akhikhl.gretty.Runner。main(Runner.groovy:48) 线程“Thread-29”中的异常 org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_191\bin\java.exe'' org.gradle.process.internal.DefaultJavaExecAction.execute(DefaultJavaExecAction.java:38) 在 org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:396) 以非零退出值 1 结束.gradle.process.internal.DefaultExecActionFactory.javaexec(DefaultExecActionFactory.java:129) 在 org.gradle.api.internal.project.DefaultProject.javaexec(DefaultProject.java:1103) 在 org.gradle.api.internal.project.DefaultProject org.gradle.api.Project$javaexec$6.call(Unknown Source) 的 org.codehaus.groovy 的 .javaexec(DefaultProject.java:1098)。runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) 在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call( AbstractCallSite.java:127) 在 org.akhikhl.gretty.DefaultLauncher.javaExec(DefaultLauncher.groovy:93) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:104 ) 在 org.codehaus 的 groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326)。org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68) 在 org.codehaus.groovy.runtime.callsite.CallSiteArray 的 groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)。 defaultCallCurrent(CallSiteArray.java:51) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:168)在 org.akhikhl.gretty.LauncherBase$_launchThread_closure4.doCall(LauncherBase.groovy:259) 在 org.akhikhl.gretty.LauncherBase$_launchThread_closure4.doCall(LauncherBase.groovy) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun .reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl。java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod .java:104) 在 groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326) 在 org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) 在 groovy.lang.MetaClassImpl.invokeMethod( MetaClassImpl.java:1041) 在 groovy.lang.Closure.call(Closure.java:411) 在 groovy.lang.Closure.call(Closure.java:405) 在 groovy.lang.Closure.run(Closure.java:492 ) 在 java.lang.Thread.run(Thread.java:748)reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:104) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326) at org.codehaus .groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) 在 groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) 在 groovy.lang.Closure.call(Closure.java:411) 在 groovy。 lang.Closure.call(Closure.java:405) 在 groovy.lang.Closure.run(Closure.java:492) 在 java.lang.Thread.run(Thread.java:748)reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:104) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326) at org.codehaus .groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) 在 groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) 在 groovy.lang.Closure.call(Closure.java:411) 在 groovy。 lang.Closure.call(Closure.java:405) 在 groovy.lang.Closure.run(Closure.java:492) 在 java.lang.Thread.run(Thread.java:748)ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) at groovy.lang.Closure.call(Closure.java:411) at groovy.lang.Closure.call(Closure .java:405) 在 groovy.lang.Closure.run(Closure.java:492) 在 java.lang.Thread.run(Thread.java:748)ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) at groovy.lang.Closure.call(Closure.java:411) at groovy.lang.Closure.call(Closure .java:405) 在 groovy.lang.Closure.run(Closure.java:492) 在 java.lang.Thread.run(Thread.java:748)
我查看了这篇文章并与 Gretty 一起寻找解决方案。 如何配置码头监听多个端口
谢谢!
gradle - 由于 NoClassDefFoundError: Lorg/jCharts/properties/PieChart2DProperties 启用以运行 appStart 任务
我已经能够使用 gretty task appStartWar或tomcatStartWar在 tomcat 上成功部署我的 web 应用程序 war 文件,但是当我尝试使用appStart或tomcatStart就地部署相同的 web 应用程序时,我收到错误消息A child container failed during start, Caused by :java.lang.ClassNotFoundException:org.jCharts.properties.PieChart2DProperties。
gretty 插件的 gradle 配置如下
错误堆栈跟踪
java - 当功能“http://apache.org/xml/features/disallow-doctype-decl”设置为 true 时,不允许使用 DOCTYPE
我喜欢使用在 web.xml 部署描述符类型版本 2.3 中指定的旧 Servlets/JSP 版本为我们已有 10 多年历史的 Web 应用程序使用 Gretty 插件:
我无法使用指定版本更改它 XSD,例如:
因为给定的 Web 容器作为 Tomcat/Jetty 报告不支持指定的版本。
因此,我喜欢强制 Gretty XML 解析器使用 DTD 验证并避免此错误:
所以我喜欢做的是设置 Xerces SAX 解析器工厂属性
通过 Gradle 配置任务。