0

我有一个使用 gwt-maven-plugin 1.2 版的 gwt 应用程序

我可以生成我的应用程序并运行生成的战争,但是当我使用 运行托管模式时mvn gwt:run,它会中断:

java.io.FileNotFoundException: D:\workspaceTempo\TempoUI\war\WEB-INF\classes\net\stinfoservices\axsens\tempo\ui\log4j\log4j.xml (The system cannot find the path specified)
[ERROR]     at java.io.FileInputStream.open(Native Method)
[ERROR]     at java.io.FileInputStream.<init>(FileInputStream.java:120)
[ERROR]     at java.io.FileInputStream.<init>(FileInputStream.java:79)
[ERROR]     at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70)
[ERROR]     at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)
[ERROR]     at org.apache.log4j.xml.DOMConfigurator$2.parse(DOMConfigurator.java:765)
[ERROR]     at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:866)
[ERROR]     at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:773)
[ERROR]     at org.apache.log4j.xml.DOMConfigurator.configure(DOMConfigurator.java:901)
[ERROR]     at org.springframework.util.Log4jConfigurer.initLogging(Log4jConfigurer.java:70)
[ERROR]     at org.springframework.web.util.Log4jWebConfigurer.initLogging(Log4jWebConfigurer.java:152)
[ERROR]     at org.springframework.web.util.Log4jConfigListener.contextInitialized(Log4jConfigListener.java:47)
[ERROR]     at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:543)
[ERROR]     at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
[ERROR]     at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
[ERROR]     at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)
[ERROR]     at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
[ERROR]     at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:447)
[ERROR]     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
[ERROR]     at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
[ERROR]     at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
[ERROR]     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
[ERROR]     at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
[ERROR]     at org.mortbay.jetty.Server.doStart(Server.java:222)
[ERROR]     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
[ERROR]     at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:543)
[ERROR]     at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:421)
[ERROR]     at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1035)
[ERROR]     at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:783)
[ERROR]     at com.google.gwt.dev.DevMode.main(DevMode.java:275)

我在 war/WEB-INF/classes 下查看,包结构被破坏,每个类和资源都是生成的,但不在它们各自的包/文件夹中。

编辑:对不起,我忘了包括 pom.xml 文件,这里是: http: //pastebin.com/C9kRJ5GN

这到底是怎么回事?!?你已经经历过这种情况吗?

谢谢你们的时间

4

1 回答 1

0

我认为(但我可能错了)这是您的 maven 项目的正常行为:您没有<resources>在 pom.xml 中声明一些,因此资源不会被复制到您的 war 目录中。

http://maven.apache.org/pom.html#Resources

所以为了避免你的问题:

  1. 添加目录src/main/resources
  2. 复制你的log4j.xml内心src/main/resources/net/stinfoservices/axsens/tempo/ui/log4j
  3. 修改你的:在标签内pom.xml添加一个标签并指定为<resources><build>src/main/resources<directory>
于 2012-11-07T10:08:18.970 回答