4

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

当我运行我的耳朵项目时,在战争中更改网络资源并不会在服务器上重新部署它,尽管我在所有可能的地方都选中了“保存时部署”(战争/耳朵)。

一些可能有用的信息:

  • 我没有从 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

4

1 回答 1

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 错误。

于 2012-09-08T03:22:47.670 回答