java ee maven_针对新手的Java EE7和Maven项目–第8部分

java ee maven

  • 第一部分 ,
  • 第2部分 ,
  • 第3部分 ,
  • 第4部分 ,
  • 第5部分 ,
  • 第6部分 ,
  • 第7部分
  • 第8部分

自上一篇文章以来,这一系列教程已经有很长时间了。 是时候恢复并在我们的简单项目中添加新功能了。 正如我在以前的文章中提到的那样,该系列文章主要针对Maven和JavaEE7新手,我欢迎对以下内容有任何疑问或意见(和修正)。 我保证我会努力跟上更新。

这个帖子的Git标签?

该帖子的标签是post8 ,可以在我的bitbucket存储库中找到。

与以前的帖子相比有什么变化?

  • 读者的代码注释和修复已集成在一起。非常感谢您的参考。
  • 我已经将Wildfly应用服务器版本从8.1更新到8.2,因此所有示例和代码都在新服务器下运行。
  • 我还将Arquillian BOM的版本更新为最新的版本1.1.7.Final
  • 我还在样例父项目下添加了一个属性,该属性指示各种maven模块将自动下载并使用Wildfly服务器的路径,这样您就不必自己下载它。 一旦您尝试执行先前文章中的单元测试之一,服务器将自动下载并提取到预定义的路径(sample-services模块)
    <!--path to download wildfly--><wildfly-server-home>${project.basedir}/servers/</wildfly-server-home>

在我们的耳朵上添加启用了JSF的war Maven模块

最终,我们的项目结构已经出现了战争(请参见sample-web)

CapturFiles-Feb-15-2015_19.57.36 Maven模块。 因此,没有引入任何额外的模块,而是对父级和模块本身的现有pom.xml文件进行了更改。

步骤1在web.xml上更改

我们的应用程序服务器已经捆绑了必需的库和设置,以支持使用JSF 2.2规范的应用程序。 Wildfly捆绑了Mojarra 2.2.8 。 我们要做的只是更新一些配置描述符(最终只有一个)。 最重要的是web.xml,现在看起来像这样。

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1"><context-param><param-name>javax.faces.PROJECT_STAGE</param-name><param-value>Development</param-value></context-param><servlet><servlet-name>Faces Servlet</servlet-name><servlet-class>javax.faces.webapp.FacesServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>Faces Servlet</servlet-name><url-pattern>/faces/*</url-pattern></servlet-mapping><session-config><session-timeout>15</session-timeout></session-config><welcome-file-list><welcome-file>faces/index.xhtml</welcome-file></welcome-file-list>
</web-app>

第2步:打包战争和瘦身的战争问题

我们的战争模块遵循一种称为“瘦身战争”的包装方案。 请从Apache maven war插件阅读以下页面 。 长话短说,为了减小部署能力(耳朵)的整体大小,我们将所有必需的库打包在耳朵级别的预定义文件夹下,通常称为\ lib,并且不包括在下面的库战争的WEB-INF \ lib文件夹。 您唯一需要做的就是将战争的相关性添加到耳边。 尽管实际上整个“ hack”感觉都不是专家,但如果遵循建议的配置,它就可以工作,但是在某些情况下,瘦小的战争包装将无法工作。 其中之一通常用于基于JSF的JavaEE Web应用程序,其中应将JSF小部件引擎的实现打包在战争的WEB-INF \ lib中。

对于我们的示例项目,我使用了出色且免费的Primefaces库 ,我强烈建议您将其用于下一个基于JSF的项目。 因此,我需要为primefaces jar定义对war模块的依赖关系,但要通过仅针对此jar的瘦war机制,以便将其打包在正确的位置。 这是我们的做法。

<!-- from the war module pom.xml --><!-- This is the dependency --> <dependency><groupId>org.primefaces</groupId><artifactId>primefaces</artifactId><version>${primefaces-version}</version></dependency><!-- See the packaging exclude, we exclude all the jars apart from the one we want 
to be bundled within the WAR --> <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><configuration><packagingExcludes>%regex[WEB-INF/lib/(?!primefaces).*.jar]</packagingExcludes><archive><manifest><addClasspath>true</addClasspath><classpathPrefix>lib/</classpathPrefix></manifest><manifestEntries><Class-Path>sample-services-${project.version}.jar</Class-Path></manifestEntries></archive></configuration></plugin>

步骤3添加一些jsf爱,一个托管bean和带有适当标签的xhtml页面。

CapturFiles-Mar-02-2015_23.18.58

我们的代码只是一张小桌子,还有几个Primefaces的标签。 如果您认为需要阅读有关JSF 2.X的更多信息,请访问以下链接

  • JSF神灵之一(BalusC)的JSF 2.2教程
  • Primefaces文档
  • Primefaces展示柜
  • JavaEE教程– Oracle的JSF 2.2
  • JSF 2.2示例

步骤4打包并部署到正在运行的服务器。

启动您的wildfly(预计您的项目库目录和子文件夹服务器下应有一个)

<wildfly-server-home>${project.basedir}/servers/</wildfly-server-home>

然后在样本父项目类型下。

mvn clean install -Ph2

您应该在http:// localhost:8080 / sample-web /上具有启用了JSF 2.2的演示应用程序,并看到类似以下内容的内容。

CapturFiles-Mar-02-2015_23.32.01

就是这样,这将为您提供一个简单的起点,以便扩展除演示之外的其他功能!

与往常一样,您将在标记post8下找到完整的示例。

翻译自: https://www.javacodegeeks.com/2015/03/java-ee7-and-maven-project-for-newbies-part-8.html

java ee maven

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/338101.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python、Perl 垫底,C语言才是最环保的编程语言

点击上方蓝字关注我&#xff0c;了解更多咨询提到编程语言&#xff0c;人们第一时间想到的无非是&#xff1a;哪个编程语言简单易学&#xff0c;亦或是最挣钱等。但是编程语言功耗问题却被很多人忽视。那么作为程序员的我们如何选择编程语言&#xff0c;使其以低能耗高功效地工…

改变数据类型的装饰器_用装饰器改变收藏

改变数据类型的装饰器装饰图案 自从第一次学习编程设计模式以来&#xff0c;装饰器模式一直是我的最爱。 在我看来&#xff0c;这是一个很新颖的想法&#xff0c;比其他想法有趣得多。 不要误会我的意思&#xff0c;其他大多数人也引起了我的注意&#xff0c;但没有什么比装饰器…

khoury计算机科学学院,东北大学Open House中国站

东北大学Open House中国站 -10月26日北京 & 10月27日上海东北大学向金吉列留学的学生发来诚挚邀请&#xff0c;欢迎您的学生前来参加东北大学于 10 月 26 日(周六)在北京 和 10 月 27 日(周日)在上海 举办的东北大学 Open House 教育展。在这两个 Open House 教育展上&…

jvm jstat_使用jstat报告自定义JVM指标集

jvm jstat我一直缺少在JStat中配置自定义标头的可能性 。 当然&#xff0c;有很多预定义的数据集&#xff0c;但是如果我们可以创建自己的数据集&#xff0c;那就更好了。 正如您可能已经设计的那样&#xff0c;我正在写这篇文章&#xff0c;因为这样的功能当然是可用的:)不幸的…

知识分享:值得学习的C语言经典开源项目

点击上方蓝字关注我&#xff0c;了解节气咨询听上去有些荒谬&#xff0c;C语言的产生竟然源于一个失败的项目。1969年&#xff0c;通用电气、麻省理工学院和贝尔实验室联合创立了一个庞大的项目——Multics工程。该项目的目的是创建一个操作系统&#xff0c;但显然遇到了麻烦&a…

计算机主机中网卡的作用,计算机硬件组成及作用

计算机硬件组成及作用今天百分网小编介绍一下电脑各组件&#xff0c;加深一下理解&#xff0c;让还不太懂的人可以对自己的电脑有一个整体的了解&#xff0c;希望对你有所帮助!一、电源电源是电脑最重要的部件&#xff0c;相当于人体的心脏&#xff0c;向所有的零部件输送血液&…

oracle idm_批准Oracle IDM中的特定Web服务

oracle idm关于Web服务端点的快速发布&#xff0c;OIM和SOA在与批准有关的场景中使用了Web服务端点- 基本内容&#xff0c;但对于初学者可能有用 。 Oracle IDM与SOA套件集成并利用其提供与批准相关的功能&#xff08;说实话&#xff0c;SOA非常丰富&#xff0c;并且也被用作W…

C语言编程笔记:关于 for循环 的那些不为人知的秘密

点击上方蓝字关注我&#xff0c;了解更多咨询好吧&#xff0c;也许你认为我在写一篇如何使用for循环的文章&#xff0c;&#xff0c;&#xff0c;&#xff0c;首先&#xff0c;我想说无论是学习C语言还是学习java的同学都能从此文中获益&#xff0c;还有&#xff0c;你确定你会…

chrome for mac html5,javascript – Mac上的Chrome浏览器问题

我一直在寻找很长一段时间,因为画布元素上的旋转矩形的绘制,擦除和重绘在Mac上的谷歌浏览器中不起作用.我需要这个,因为我想在画布上渲染悬停叠加层.我创建了一个代表我的代码的小提琴&#xff1a;linkHTML&#xff1a;使用Javascript&#xff1a;var canvas null;var ctx;var …

weld焊接_玩Weld-Probe –一站式查看CDI的所有方面

weld焊接当我坐在DevConf.CZ的会议室时&#xff0c; Weld 3.0.0.Alpha4已发布 。 大约在Jozef Hartinger&#xff08; jozefhartinger &#xff09;旁边或多或少 &#xff0c;后者在共享休息前几分钟告诉我有关此最新版本的新功能的信息。 有一个特别的功能真正引起了我的注意&…

C语言:一种通用的程序设计语言

点击上方蓝字关注我&#xff0c;了解更多咨询语言是一种通用的程序设计语言。它同UNIX系统之间具有非常密切的关系。C语言是在UNIX系统上开发的&#xff0c;且无论是UNIX系统本身还是其上运行的大部分程序&#xff0c;都是C语言编写的。但是C语言并不受限于任何一种操作系统或机…

可禁用计算机服务,win10哪些服务可以禁用 服务哪些可以禁止启动

win10服务哪些可以禁止启动&#xff1f;方法一&#xff1a;命令方法首先使用 Windows R 组合快捷键打开“运行”窗口&#xff0c;之后键入 services.msc 按下回车键&#xff0c;即可打开“服务”。方法二&#xff1a;快捷方式法在Win10桌面的“此电脑”图标上点击鼠标右键&…

drill apache_如何使用Apache Drill分析高度动态的数据集

drill apache当今的数据是动态的&#xff0c;并由应用程序驱动。 由诸如Web /社交/移动/ IOT等行业趋势驱动的新业务应用时代的增长正在生成具有新数据类型和新数据模型的数据集。 这些应用程序是迭代的&#xff0c;并且关联的数据模型通常是半结构化的&#xff0c;无模式的且不…

如何用最短的时间学会C语言,并掌握C语言的精髓所在?

点击上方蓝字关注我&#xff0c;了解更多咨询及C语言&#xff0c;我想凡是学过它的朋友都有这样一种感觉&#xff0c;那就是“让我欢喜让我忧。”欢喜的是&#xff0c;C语言功能非常强大、应用广泛&#xff0c;一旦掌握了后&#xff0c;你就可以理直气壮地对他人说“我是电脑高…

山西能源计算机专业,山西能源学院计算机科学与技术专业2016年在四川理科高考录取最低分数线...

类似问题答案四川大学计算机科学与技术专业2016年在山西理科高考录取最低分数线学校 地 区 专业 年份 批次 类型 分数 四川大学 山西 计算机科学与技术 2016 一批 理科 610 学校 地 区 专业 年份 批次 类型 分数 四川大学 山西 计算机科学与技术 2016 一批 理科 610 四川大学 山…

apache fop_Apache FOP与Eclipse和OSGi的集成

apache fopApache FOP是由XSL格式化对象&#xff08; XSL-FO &#xff09;驱动的开源打印处理器。 例如&#xff0c;将数据对象转换为PDF可能非常有用。 但是&#xff0c;事实证明&#xff0c;将其集成到PDE中并最终以OSGi Service的形式启动和运行有点麻烦。 因此&#xff0c…

2022年最值得学习的 5 种编程语言,你有在学习吗?

点击上方蓝字关注我&#xff0c;了解更多咨询作为一个初学者电脑程序员&#xff0c;很多人都会想知道当下主流的编程语言有哪些&#xff0c;哪些行业和公司都在用它们&#xff0c;因为这些信息可以帮助你了解想要学习的内容&#xff0c;使你更接近最终想用代码完成的事情。今天…

计算机组装名词术语解释,计算机名词解释及简答题总结

计算机名词解释及简答题总结信息技术&#xff1a;指的是用来扩展人们信息器官功能&#xff0c;协助人们更有效地进行信息处理的一类技术1.信息处理&#xff1a;信息的收集、加工、存储、传递、施用相关的行为和活动2.信息产业&#xff1a;是指生产制作信息设备&#xff0c;以及…

wildfly mysql_MySQL作为Kubernetes服务,可从WildFly Pod访问

wildfly mysqlKubernetes上使用Vagrant的Java EE 7和WildFly&#xff08;技术提示&#xff03;71&#xff09;介绍了如何在使用Kubernetes和Docker托管的WildFly上运行琐碎的Java EE 7应用程序。 Java EE 7应用程序是在世界范围内交付的动手实验室 。 它使用与WildFly捆绑在一起…

想学C语言?这些你一定要知道

点击上方蓝字关注我&#xff0c;了解更多咨询首先&#xff0c;你想运行自己的C语言程序&#xff0c;就必须要有一个IDE&#xff08;集成式开发工具&#xff09;。不然想运行程序很难。这里有两个方法可以运行你的C语言程序&#xff0c;一个是在菜鸟网站上云运行C语言程序&#…