【问题标题】:Why might eclipse not export maven libraries that are included in classpath?为什么 eclipse 不能导出包含在类路径中的 maven 库?
【发布时间】:2013-06-24 15:43:33
【问题描述】:

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

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

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

所以我可以得出结论,我的 jpa/hibernate 配置总体上没问题。

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

【问题讨论】:

标签: java eclipse hibernate gwt jpa


【解决方案1】:

因此,当您执行“运行方式 - 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 在开发服务器运行之前做一些工作(比如解决依赖关系)。

【讨论】:

  • 编辑为我的第一个答案考虑了别的东西。
  • 你说得对!该文件夹确实仍然是src/main/webapp/。按照您的建议进行更改修复了所有依赖问题。拯救了我的一周!
猜你喜欢
  • 2010-11-30
  • 1970-01-01
  • 1970-01-01
  • 2014-08-27
  • 2013-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多