2

我有一个运行良好的项目,它使用 Maven 进行依赖管理。项目本身由 eclipse ( Run As...) 运行。在 中project menu > Deployment Assembly,我已经包含了MAVEN_REPO.

问题:当我运行项目时,所有内容都被正确复制到war/WEB-INF/lib. 但是我经常遇到PersistenceProvider无法找到的错误。

如果我手动将所有库从部署的战争目录复制到src/main/webapp/WEB-INF/lib,然后重新启动应用程序,一切正常!

所以我可以得出结论,我的 jpa/hibernate 配置一般都很好。

但是我怎样才能克服手动将所有库添加到 src lib 文件夹的需要呢?

4

1 回答 1

3

因此,当您执行“运行方式 - Web 应用程序”时,eclipse/google 插件会使用您指定的 War 目录路径。要更改此设置,请右键单击您的项目,然后选择属性。然后在 google 下拉菜单下,选择“Web Applicaiton”。在那里,您可以编辑“WAR 目录”路径。这可能设置为 src/main/webapp,这不是您想要的。

当 maven 构建你的 war 时,它会获取所有构建的类文件和库,并将它们打包到目标目录中。这是您要用作“战争目录”的目录。这将类似于 '/target/myappname-1.0.0'

旁注:如果您使用的是 gwt/maven,您可能希望使用命令 'mvn gwt:run' 而不是使用 google/eclipse 插件运行。这允许 maven 在开发服务器运行之前做一些工作(比如解决依赖关系)。

于 2013-06-24T17:03:00.147 回答