【问题标题】:maven ear / war problems and "deploy on save" not workingmaven 耳朵/战争问题和“保存时部署”不起作用
【发布时间】:2012-08-28 05:05:40
【问题描述】:

我有一个打包一个 ejb 模块和 2 个 war 的 ear 项目。它们中的每一个都被声明为 Maven 依赖项。我使用 maven-ejb-plugin、maven-ear-plugin 和 maven-war-plugin。所有项目共享一个公共超级 pom,其中每个项目都声明为一个模块。

当我运行我的 ear 项目时,在 war 中更改 web 资源并不会在服务器上重新部署它,尽管我在所有可能的地方都选中了“deploy on save”(war/ear)。

一些可能有用的信息:

  • 我没有从 netbeans 生成 pom.xml。这些项目以前是 ant 项目,我通过模仿 netbeans 似乎从 ear/ejb/war 设置生成的内容进行迁移。
  • 有时我很难更改我的战争文件。我需要清理所有项目,停止服务器等。我想某处有问题。我想只是更改我的文件并运行 maven 安装(或点击“运行”或“调试”)应该可以工作吗?
  • 我正在运行 ear 项目(不确定是否应该以某种方式运行 superpom)。
  • Netbeans 在启动浏览器时没有运行正确的 url( /XXX-1.0-snapshot 而不是 /XXX ,这是我指定的并且是实际工作的)。我总是必须在地址栏中手动编辑它。可能相关吗?

编辑: 在本地项目中看到这个:在本地项目中看到这个:

下载:http://repository.primefaces.org/be/valuya/xyzproj/XYZproj-ejb/1.0-SNAPSHOT/maven-metadata.xml

EDIT2:打开了这个 netbeans 错误:http://netbeans.org/bugzilla/show_bug.cgi?id=218806

【问题讨论】:

  • 看来 maven 正试图将我的耳朵安装在远程存储库(primefaces 的 prime-repo)中。有什么线索吗?
  • 没有答案,我可以提供更多信息吗?
  • 我遇到了类似的问题,您的 ejb JAR 项目是在部署期间打开还是关闭?

标签: jakarta-ee maven netbeans


【解决方案1】:

deploy on save:此选项仅在您将 netbeans.deploy 属性设置为 true 时适用(这意味着 netbeans 将处理您的 webapp 的部署,并将监控您的文件并在以下情况下执行重新部署必要的)。在netbeans中,右键单击您的maven项目转到“属性”,在类别列表下选择“操作”,选择“运行操作”,您可以在“设置属性”文本框中指定netbeans.deploy=true

在战争中改变:如果我没记错的话,你只会在修改静态网页内容(例如 html、css、javascript 等)时遇到这个问题。这是因为大多数服务器内存映射静态内容并出于性能目的锁定文件。您需要配置服务器以禁用内存映射文件。配置取决于您使用的服务器(glassfish/jetty/tomcat)。

netbean 启动错误的 url:netbeans 使用基于项目文件夹名称的 url。我也无法更改它(它总是重置),所以我猜这是一个 IDE 错误。

【讨论】:

  • 保存时部署:不,一切都很好
  • 进行更改: 不,我确信将资源复制到应用服务器路径是可行的(使用 Glassfish)。当我不想重新部署时,我现在就是这样做的。
  • netbeans 启动了错误的 url: 不,这不是文件夹名称,它类似于 MyProject-war-1.0-SNAPSHOT。文件夹名称是 MyProject-war。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-12
  • 2011-01-24
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多