我一直在尝试运行一个支持模块的新项目,但一直收到以下错误,无法调试,
com.google.apphosting.utils.config.EarHelper reportConfigException[信息]信息:应用程序目录"项目/DemoEar--1.0.0-SNAPSHOT/DemoWarApp的路径"必须存在并且是一个目录
我的模块结构低于
main application.xml包含
<module>
<web>
<web-uri>DemoWarApp</web-uri>
<context-root>DemoWarApp</context-root>
</web>
</module>
它显然没有指向正确的战争文件夹路径。有人知道怎么修吗?
感谢
创建的bundle文件夹必须与application.xml中的web-uri
匹配。因此,您可以在maven-ear-plugin
中将bundle文件夹名称更改为bundleFileName
<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>
<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>