当我尝试从Eclipse运行我的项目作为WebApplication时,我有以下错误:
[WARN] failed com.google.apphosting.utils.jetty.DevAppEngineWebAppContext@4b903fd{/,D:\Dev\Projects\The Five Orbs\trunk\target\fiveorbs-0.1}: java.lang.NoClassDefFoundError: com/google/inject/servlet/GuiceServletContextListener
[WARN] failed JettyContainerService$ApiProxyHandler@eb4d977: java.lang.NoClassDefFoundError: com/google/inject/servlet/GuiceServletContextListener
[WARN] Error starting handlers
java.lang.NoClassDefFoundError: com/google/inject/servlet/GuiceServletContextListener
Run Code Online (Sandbox Code Playgroud)
该类可以在编译时找到(我的自定义GuiceServletConfig扩展GuiceServletContextListener并正确编译).
该guice-servlet-3.0.jar
库既出现在项目构建路径中,也出现在Eclipse中的Web应用程序运行配置的类路径中.
我的运行配置的Arguments面板具有以下配置:在Program参数中:
-remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -startupUrl TheFiveOrbs.jsp -logLevel INFO -server com.google.appengine.tools.development.gwt.AppEngineLauncher -port 8888 -codeServerPort 9997 -war "D:\Dev\Projects\The Five Orbs\trunk\target\fiveorbs-0.1" com.fiveorbs.TheFiveOrbs
Run Code Online (Sandbox Code Playgroud)
在VM参数中:
-javaagent:D:\Dev\Programs\appengine-java-sdk\lib\agent\appengine-agent.jar -Xmx512m -Dappengine.sdk.root=D:\Dev\Programs\appengine-java-sdk
Run Code Online (Sandbox Code Playgroud)
当我运行mvn gae:从Maven的命令提示符运行时,一切都很好 - 服务器正常启动并且没有显示异常.
我一直在努力解决这个问题几个小时,实在无法理解它为什么会发生.
提前感谢您提供的任何提示.
塞巴斯蒂安
我正在使用 IntelliJ IDEA 2016.3 + lombok 插件,其结构如下:
编辑:这是模块内容根配置:
src/main/java
和中的一切都按预期工作src/test/java
,但src/integration-test
和中的类src/end-to-end-test
看不到生成的 lombok 代码(因此没有自动完成)。
不过,我仍然可以毫无问题地运行测试。
有谁知道我应该做什么才能从这些其他测试源文件夹的自动完成中受益?
谢谢!
我目前正在尝试为竞赛构建一些代码执行优化,并且正在研究ObjectPool模式以支持对象重用而不是新的对象实例化.
我已经组建了一个小项目(和唯一的测试类)来调查我看到和不理解的一些事情.
我在做什么:
我得到的结果是:
Figures are for new instantiation vs with object pool for 5 000 000 iterations
without_warmup_without_new_object_use_with_random_parameters: 417 vs 457
without_warmup_without_new_object_use_with_fixed_parameters: 11 vs 84
without_warmup_with_new_object_use_with_random_parameters: 515 vs 493
without_warmup_with_new_object_use_with_fixed_parameters: 64 vs 90
with_warmup_without_new_object_use_with_random_parameters: 284 vs 419
with_warmup_without_new_object_use_with_fixed_parameters: 8 vs 55
with_warmup_with_new_object_use_with_random_parameters: 410 vs 397
with_warmup_with_new_object_use_with_fixed_parameters: 69 vs 82
我从中注意到了什么:
我在这里寻找的是理解这些结果,并获得我可以阅读的文档/书籍的指示,以便充分了解在这些情况下幕后发生的事情.
谢谢!
我目前正试图制作类似于"魔兽世界"中可以看到的冷却效果.(看到上面有2米文字的广场?想法是以圆形的方式让方形''变亮'',也在http://www.youtube.com/watch?v=R51QXmkyelQ 0:23中说明).我正在使用GWT,所以我主要是寻找使用纯CSS和/或javascript来实现这一目标的方法.
为了达到这个目的,我只需要能够创建一个类似于1中暗区的方形图像.然后我可以将这个图像叠加到我的主图像中,并使用计时器来制作假象.
但是我不知道如何创建这样的图像.似乎可以仅使用CSS创建形状,但我无法理解是否以及如何创建我需要的东西是可能的.
我也发现了一些使用Silverlight的东西,但它不是我的选择.
我不确定我是否表达了我的需要.如果是这种情况,我会非常乐意添加说明.
提前感谢任何提示,
SébastienTromp
我有一个FlowPanel
,其高度是固定的(它实际上是其父高度的百分比,这是固定的).
在这个面板中,我添加了几个div
元素.使用CSS,我将其高度设置为其父级的100%.
我想要做的是使用javascript将其宽度设置为等于其高度.
我遇到的问题是我不知道何时运行这个javascript.我尝试将它添加到onLoad()
我的容器的方法,但高度尚不知道(getOffsetHeight()
返回0).
我看了类似的问题(比如GWT - 检索未显示的小部件的大小),但它们并不完全相同.
我有以下页面:
<h:form id="gameSelectionForm">
<h:selectOneMenu id="gameSelection">
<f:selectItems value="#{gameBean.gameIds}" />
</h:selectOneMenu>
<h:commandButton id="gameSelector" value="Play" action="#{gameBean.changeGame}" />
</h:form>
<h:panelGroup id="gameDiv">
<f:verbatim>
<iframe src="/levelup/resources/games/#{gameBean.gameId}/#{gameBean.htmlPage}" width="700px" height="800px" frameborder="0"/>
</f:verbatim>
</h:panelGroup>
Run Code Online (Sandbox Code Playgroud)
当我点击"gameSelector"按钮时,这里是事件序列:1.调用gameBean.getGameId和gameBean.getHtmlPage 2.调用gameBean.changeGame 3.刷新页面.
我的问题在于1.和2. changeGame修改了getGameId和getHtmlPage使用的gameBean变量.因此,我希望它首先执行,以便在刷新其他面板时,它们包含正确的数据.
请注意,此问题似乎只发生在gameDiv元素中的调用(其他变量已正确刷新).
您是否知道我可以做什么来恢复1.和2.的顺序,以便changeGame()方法是第一个被调用的?
我在Tomcat 7.0上使用JavaServer Faces 2.0.
提前致谢
我有一个表单,它的字段使用验证器.这些验证器可以发回Severity.SEVERITY_ERROR或Severity.SEVERITY_WARN消息,如图所示:
if (!isInMainFamily) {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_WARN, "You should make sure to tag your competency in at least one main category", null);
throw new ValidatorException(message);
}
Run Code Online (Sandbox Code Playgroud)
但是,SEVERITY_WARN消息对我没有阻止.它们只是告诉用户他们应该更正输入的一种方式,但不会阻止他们提交表单并保存他们的数据.
但是,似乎抛出任何类型的ValidatorException将FacesContext标记为"validationFailed",然后阻止提交表单.
有办法解决这个问题吗?还是我误解了什么?
非常感谢你的帮助,
塞巴斯蒂安
gwt ×3
java ×3
jsf ×2
css ×1
eclipse ×1
guice ×1
javascript ×1
lombok ×1
performance ×1
size ×1
validation ×1
verbatim ×1