最近把Eclipse的maven插件从m2eclipse更新到m2e后出了一些莫名其妙的的问题。今天又出了一个,就是Eclipse新建的Maven Web project在tomcat里启动后报错,具体报错信息如下:
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:test1' did not find a matching property.
对于这个问题,网上很多人给出的原因和解决方案如下:
解决方法是在Servers视图里双击创建的server,然后在其server的配置界面中选中"Publish module contexts to separate XML files"选项。
不过我按这种方式操作后发现还是会报这个问题,除了这种方式之外网上也没有什么参考资料了,这个问题纠结了我几天。仔细检查工程结构后发现我的工程根目录下生成了一个WebContent文件夹。具体截图如下:
一般来说正常的maven项目的web资源文件都是默认位于src/main/webapp下,WebContent只是普通的Dynamic Web project使用的默认Web文件目录。而我这个工程竟然同时生成了这两个目录,而且两个目录下都有WEB-INF文件夹。这个是不是问题的根源呢?
为了排查,我又重新新建了一个maven web project,工程名为test2。新建完后发现并没有生成WebContent文件夹。我们都知道,Eclipse中建Maven Web工程需要添加Project Facets。具体步骤如下图所示:
1.右键--Properties
2.选择Project Facets,然后点击右边的Convert to faceted from...
3.在弹出的窗口中选择Dynamic Web Module
4.如上图所示在窗口下方还有一个Further configuration available...,点击后弹窗如下,打开完后终于找到了原因所在,在这一步需要设置工程的content directory,如果不设置,目录名称默认就是WebContent。
前一步我是没有设置,所以才会生成默认的WebContent目录。
添加完Facets后,把test2工程部署在tomcat启动,发现之前的错误已经不存在了。
解决完问题后,心里还是有点不踏实,问题的根源到底是什么呢。逐一比对了两个工程的文件内容后终于发现了区别所在。区别在于工程.settings文件夹下。.settings目录下的文件附图如下:
上图高亮的部分的两个文件就是区别所在。
其中.jsdtscope中有一行定义:
<classpathentry kind="src" path="WebContent"/>
而test2工程的定义如下:
<classpathentry kind="src" path="src/main/webapp"/>
另外org.eclipse.wst.common.component文件中定义了工程的wb-resource
<wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
test2工程的定义如下:
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
综上所述,推测tomcat在部署工程时会去查找.settings中定义的配置。如果配置有问题,则会报错。上面的问题,只要把test1工程.settings目录下对应的两个文件的配置修改后重新部署就能正常启动了。
相关推荐
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:jwgl' did not find a matching property. 3月 17, 2019 10:51:41 上午 org.apache....
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:autofactory' did not find a matching property. 九月 18, 2013 11:39:02 上午 org...
例如,在Tomcat服务器启动时,可能会出现警告信息,例如设置属性“source”到“org.eclipse.jst.jee.server:HDDJ-web-console”没有找到匹配的属性。在Eclipse中部署Tomcat服务器时,可能会遇到这种问题。 问题分析...
在Web开发中,JavaServer Pages (JSP)技术常常被用来构建动态网页。为了提高代码的可维护性和复用性,JSP引入了标签库(Tag Library),其中Java Standard Tag Library (JSTL) 是一个标准的标签库,提供了许多核心...
5. **JSF(JavaServer Faces)**:`org.eclipse.jst.jsf.doc.user_1.1.200.v200906152024.jar`可能包含了关于JavaServer Faces的用户文档,为开发者提供JSF框架的使用指南。 6. **Pagedesigner**:`org.eclipse.jst...
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:TestTomcat6.0.16' did not find a matching property. ``` 此外,还会收到关于Apache...
在 Server Options 窗口中,勾选 Publish module contexts to separate XML files 选项,然后保存。这样可以解决部分人的问题,但是并不能解决所有人的问题。 第二步:检查 Deploy path 的值。如果 Deploy path 的...
解决方法是:在 Eclipse 安装文件里面的 .setting 文件里面的 org.eclipse.wst.common.project.facet.core.xml 文件,修改 <installed facet="jst.web" version="3.0"/> 为 <installed facet="jst.web" version="2.5...
7. **org.eclipse.jst.jsf.doc.user_1.5.0.v201309172352.jar**:JavaServer Faces (JSF) 的用户文档,帮助开发者理解和使用JSF框架进行Web界面开发。 8. **org.eclipse.jgit_4.8.0.201706111038-r.jar**:Eclipse ...
在 Eclipse 安装文件中的 `.setting` 文件夹中的 `org.eclipse.wst.common.project.facet.core.xml` 文件中,修改以下内容: ```xml ... <installed facet="jst.web" version="2.5"/> ... ``` 解决端口号已经...
5. **org.eclipse.jst.jsf.doc.user_1.2.0.v20100607.jar**:JSF(JavaServer Faces)开发的用户文档,帮助开发者理解和使用JSF框架。 6. **org.eclipse.jst.j2ee.core_1.2.0.v201005200200.jar**:提供了对Java EE...
8. org.eclipse.m2e.lifecyclemapping.defaults_1.4.1.20140328-1905.jar:Maven生命周期映射默认插件,是Eclipse M2E(Maven Integration for Eclipse)的一部分,它将Maven构建生命周期映射到Eclipse的构建过程,...
2. **J-STAGE** (www.jstage.jst.go.jp/browse/_journallist#1):日本科学技术振兴机构(JST)运营的在线平台,提供了大量的科学和技术期刊,涵盖了自然科学、工程、医学、人文社科等多个领域。 3. **BioVisa** ...
1. **Eclipse Marketplace**:打开Eclipse,进入“帮助”(Help)菜单,选择“Eclipse Marketplace”,在搜索框中输入“Tomcat”或“Tomcat Plugin”,找到相关的插件如“Apache Tomcat Integration”或“JST Server...
annotation.jar eclipse插件,根据数据库自动生成pojo
3. **选择服务器适配器组件**:在列表中选择“Web, XML, Java EE and OSGi Enterprise Development”下的“JST Server Adapters”、“JST Server UI”以及“WST Server Adapters”等组件进行安装。 ##### 2.5 安装 ...
│ │ ├─org.eclipse.core.resources │ │ │ ├─.history │ │ │ │ ├─0 │ │ │ │ ├─1 │ │ │ │ ├─10 │ │ │ │ ├─11 │ │ │ │ ├─12 │ │ │ │ ├─13 │ │ │ │ ├─14 │ │ │ ...
<installed facet="jst.web" version="3.0"/> ``` - 另一种方法是通过Eclipse图形界面进行配置: - 右键点击项目,选择`Properties`。 - 在弹出的对话框中选择`Project Facets`。 - 将`Dynamic Web Module`...