我一直在尝试使用模块支持运行一个新项目,但是我一直在跟踪错误,无法调试它,
com.google.apphosting.utils.config.EarHelper reportConfigException [INFO] INFO:应用程序目录' path-to-project / DemoEar-1.0.0-SNAPSHOT / DemoWarApp'必须存在并成为目录。
我的模块结构如下
main application.xml包含
<module>
<web>
<web-uri>DemoWarApp</web-uri>
<context-root>DemoWarApp</context-root>
</web>
</module>
它显然没有指向正确的war文件夹路径。有谁知道如何解决它?
由于
答案 0 :(得分:1)
创建的bundle文件夹必须与application.xml中的web-uri
匹配。因此,您可以使用bundleFileName
maven-ear-plugin
更改捆绑文件夹名称
<modules>
<webModule>
<groupId>groupId-of-DemoWarApp</groupId>
<artifactId>artifactId-of-DemoWarApp</artifactId>
<bundleFileName>DemoWarApp</bundleFileName>
</webModule>
</modules>
或者每次都将web-uri
更改为{module-name} - {version}以匹配创建的捆绑文件夹名称。
我建议使用与版本无关的捆绑bundleFileName
(与您的web-uri
相同),这样当版本发生变化时您就不必费心了。
完整的ear plugin片段:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.9</version>
<configuration>
<modules>
<webModule>
<groupId>groupId-of-DemoWarApp</groupId>
<artifactId>artifactId-of-DemoWarApp</artifactId>
<bundleFileName>DemoWarApp</bundleFileName>
</webModule>
</modules>
<version>5</version>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<unpackTypes>war</unpackTypes>
</configuration>
</plugin>