此时我有一个build.gradle
文件可以成功编译和测试(使用 JUnit4)一个非常简单的 java 项目。
我的下一步是在此构建中添加 JSF2 支持(以便拥有 Web JSF2 应用程序)。这个想法是将应用程序托管在我的本地 JBoss 7.1 容器中。现在事情对我来说有点模糊。
我所做的是通过添加一些依赖项将 JSF2 支持添加到我的 buid 中,因此dependencies
块现在是这样的:
dependencies {
compile 'org.jboss.weld.se:weld-se-core:'+weldVersion
compile 'br.gov.frameworkdemoiselle:demoiselle-core:'+demoiselleVersion
compile 'br.gov.frameworkdemoiselle:demoiselle-jsf:'+demoiselleVersion
runtime 'javax.servlet:javax.servlet-api:3.1.0'
runtime 'javax.enterprise:cdi-api:1.0-SP1'
runtime 'org.jboss.weld.servlet:weld-servlet:'+weldVersion
runtime 'com.sun.faces:jsf-api:2.2.8-02'
runtime 'org.slf4j:slf4j-log4j12:1.7.7'
testCompile 'junit:junit:4.11'
testCompile 'org.jboss.arquillian.junit:arquillian-junit-container:'+arquillianVersion
testCompile 'br.gov.frameworkdemoiselle.component:demoiselle-junit:2.3.1'
}
我注意到的第一件奇怪的事情是,在用 Gradle 刷新项目后(通过使用Gradle > Refresh All
菜单),JBoss 看不到它。我注意到(似乎)Gradle 禁用了项目中构面的使用。如果我手动激活构面并将运行时设置为 JBoss 7.1,那么我将能够将其添加到 JBoss(但我不想再手动执行此操作)。
将其添加到 JBoss 后,我可以运行服务器,并且日志显示 JBoss 正确加载了与我的 Web 应用程序对应的模块,但是当我在浏览器中键入它的 url 时,服务器以 HTTP 状态 404 响应。
在src/main/webapp
我有一个简单的index.html
文件(如下所示),所以我期望的只是在浏览器中看到它的内容,但这并没有发生。
<html>
<body>
<h1>Hello world!</h1>
</body>
</html>
我错过了什么?