Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将src/main/webapp文件夹(Maven)部署为JBoss7中的应用程序?_Java_Maven_Java Ee 6_War_Jboss7.x - Fatal编程技术网

Java 如何将src/main/webapp文件夹(Maven)部署为JBoss7中的应用程序?

Java 如何将src/main/webapp文件夹(Maven)部署为JBoss7中的应用程序?,java,maven,java-ee-6,war,jboss7.x,Java,Maven,Java Ee 6,War,Jboss7.x,我想将Maven项目中的src/main/webapp文件夹部署为JBoss7中的应用程序。我想做的是: 保存和刷新xhtml、css、js等 mvn是否为全面部署准备包war:in place 这当然只是为了发展。我想有类似的工作流程与Maven Jetty插件,但JEE6应用程序 部署扫描程序正在查找*.war目录 我目前的解决方案: 使用jboss作为maven插件在包阶段进行部署——有了这个,我需要在每个CSS、JS或XHTML更改上重新部署 将我的目标文件夹添加到部署扫描程序,然

我想将Maven项目中的src/main/webapp文件夹部署为JBoss7中的应用程序。我想做的是:

  • 保存和刷新xhtml、css、js等
  • mvn是否为全面部署准备包war:in place
这当然只是为了发展。我想有类似的工作流程与Maven Jetty插件,但JEE6应用程序

部署扫描程序正在查找*.war目录

我目前的解决方案:

  • 使用jboss作为maven插件在包阶段进行部署——有了这个,我需要在每个CSS、JS或XHTML更改上重新部署
  • 将我的目标文件夹添加到部署扫描程序,然后执行
    war:exploded
    将资源复制到war目录。完全重新部署需要使用antrun插件创建.dodeploy文件,这非常难看。节省资源后,我仍然需要运行maven。我不希望我的资源被复制到任何地方
我的
pom.xml中没有什么特别之处:


4.0.0
com.pg
吉普赛姆
0.0.1-快照
战争
吉普赛姆
UTF-8
爪哇
javaeewebapi
6
假如
org.primefaces
素面
3.3.1
org.slf4j
slf4j api
1.6.6
吉普赛
org.apache.maven.plugins
maven编译器插件
2.3.2
1.6
1.6
优质回购
PrimeFacesMaven存储库
http://repository.primefaces.org
违约

如果您可以切换到play framework,这将大大提高生产效率。真的。。。这就像ruby on rails

另外,如果您使用的是maven,这可能有助于在安装阶段自动部署EAR


org.apache.maven.plugins
maven依赖插件
2.4
${project.groupId}
${project.artifactId}
${project.version}
耳朵
真的
${jboss inst}/deploy
${skip.ear.auto.deployment}
安装
复制
尝试使用。Maven应该添加您的从属关系。但是请注意,JBoss 7有一个新的模块依赖系统,因此如果您想使用JBoss提供的一些内部模块,您必须在MANIFEST.MF文件中声明它们,如示例所示,并将它们标记为pom.xml中提供的。JBoss7读取清单并在部署时加载模块

下面是一个适合我的例子:

    ...
    <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1.1</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
                <archive>
                    <manifestEntries>
                        <Built-By>Dev Team</Built-By>
                        <Dependencies>javaee.api, javax.faces.api, javax.xml.rpc.api,
                            org.joda.time, org.hibernate, org.hibernate.validator,
                            org.dom4j, org.picketlink</Dependencies>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>
     ...
。。。
maven战争插件
2.1.1
假的
开发团队
javaee.api、javax.faces.api、javax.xml.rpc.api、,
org.joda.time,org.hibernate,org.hibernate.validator,
org.dom4j,org.picketlink
...
使用此配置将创建正确的war(mvn war:war)。此外,当我右键单击eclipse中的项目并选择>“在服务器上运行”时,war也被正确部署。xhtml等资源在保存时会自动重新部署,并且在刷新时可以看到更改。
我还安装了m2eclipse插件

I know play framework。谢谢你的建议迫使我重新部署webapp以查看单个xhtml上的更改。为此,j可以更轻松地使用jboss插件。我想实现的是保存XHTML文件并刷新浏览器以查看更改。您可以向我们展示您的pom吗?您想只通过maven(cmd)还是通过IDE进行部署。就目前而言,从cmd或IDE部署并没有什么区别。我试过使用JBoss插件来实现eclipse。它很好地复制了资源,但是使用这个插件构建的war文件缺少JAR和一些类。它没有使用maven进行战争装配。这很奇怪。当我按自己的方式部署应用程序时,一切都很好。然而,当我通过Eclipse的“在服务器上运行”进行部署时,我得到了如下示例:
/viewScopeSample.xhtml:com.pg.jeesample.ui.SimpleViewBean类没有属性“addToCounter”
bean当然包含这样的方法。清理项目并重新部署。还要检查是否所有内容都已正确复制到JBossIt的部署文件夹中,但未正确复制。WEB-INF/lib为空,但在我的目标目录中包含primefaces和slf4j。Eclipse上是否安装了JBoss工具?我不。我刚刚下载了JBoss7服务器描述符。也许我需要将maven集成到jee项目或其他项目中。在我看来,eclipse正在使用其内部构建系统来组装war,而忽略了maven。如果没有,请将它们添加为源,并选择WEB-INF/lib作为部署路径。部署程序集的一些技巧实现了这一点。谢谢这是一个很好的解决方法,但这并不能回答我的问题。我将接受这个答案,因为我的想法似乎不可能实现。