所以我的企业项目名称TestProject
包含TestProject-ejb
和TestProject-war
,因此当我运行项目时,网址就像这样locahost:8080/TestProject-war
。如何将此网址更改为localhost:8080/testproject
。我使用netbean 6.9,我尝试右键单击netbean中的TestProject-war
文件夹,并在Run
下指定上下文路径,但仍然加载locahost:8080/TestProject-war
答案 0 :(得分:12)
您需要检查EAR的META-INF目录中的application.xml文件中的Web模块的context-root元素是否已正确更改。
示例如下:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd"
id="Application_ID" version="6">
<display-name>TestProject</display-name>
<module>
<web>
<web-uri>TestProjectWeb.war</web-uri>
<context-root>testproject</context-root>
</web>
</module>
<module>
<ejb>TestProjectEJB.jar</ejb>
</module>
</application>
在此示例中,Web模块应位于您部署到的服务器的/ testproject下,因此在您的情况下http://localhost:8080/testproject
。
(如果您想部署到服务器的根目录,可以将context-root元素留空:<context-root></context-root>
。)
如果您确实发现Netbeans中的操作已正确更改此文件,则可能是BalusC指出的部署问题。检查部署EAR的位置,并手动检查部署的版本是否也具有正确的值。
答案 1 :(得分:1)
正如Harry指出的那样,默认项目模板没有创建application.xml
文件,所以你必须在$ENTERPRISE_APP_PATH/src/conf
手工创建它(用NB 6.9.1测试)
答案 2 :(得分:1)
在弄清楚同样的事情的过程中遇到了这个问题。由于OP要求在Netbeans中执行此操作,让我通过使用Netbeans IDE具体描述如何执行此操作来添加以前的答案。
使用Netbeans 8(可能还有早期版本),您可以告诉IDE为您创建application.xml文件,如下所示。右键单击企业应用程序项目(在OP的示例中,这将是&#34; TestProject&#34;),选择&#34; New&#34;那么&#34;标准部署描述符......&#34;。这将创建一个&#34; application.xml&#34;将文件放在Netbeans项目中的适当位置。然后,您可以轻松编辑此文件,将context-root元素设置为您想要的任何内容。