1. 关于部署
只要配置了Web Deployment Assembly,可以不需要手工拷贝引用jar到/WEB-INF/lib里面了,之前失败是因为引用工程的output路径有问题导致的,修改完成后,一切都和Java一样。就是需要增加一个Web Deployment Assembly的配置,这个配置还是一定要有的,即使是发布到Eclipse内置的tomcat插件中,也是需要根据WDA配置来拷贝jar包到该目录下,另外,最好是先把依赖工程的jar已经输出到了target中,这样更加靠谱;另外在clean的时候,有的时候会发生异常,比如创建XXX文件夹失败,可能有别的进程在占用,这个时候需要把整个工程进行clean或者选择Tomcat下面绑定的web 网站,右键clean module work directory,尝试几次就好了;
项目引用是指为了在跨工程,过程类、函数的可见性。
2. 关于删除的项目根目录
手动的在.metadata.pluginsorg.eclipse.wst.server.core mp0wtpwebapps下面删除工程目录是有问题的至少要比工程更目录留着,我就是在直接把工程根目录给删掉了之后就报错(同级的还有一个ROOT目录);我觉得可能是tomcat这个插件无法正确解析删除目录的结构;结果导致了无法正常编译。此时即使手工再创建也还是不行,最好的处理方式就是把整个Server(tomcat)在Server面板中给删除掉,从新创建;此时将会创建另外一个tmp文件(比如tmp1,tmp0就这样被搁置了),然后从新拷贝文件目录。
3. HTML/XML
Html以及XML的格式化一直让我吐槽;
后来才知道原来这个是可以配置的。在preferences中选择Web/HTML Files/Editor中主要是设置两项:
第一个是Line Width,默认的是行太短了,设置为800足矣;
第二个是Inline Elements,就是节点中哪些元素可以在一行显示,可以直接全部删掉;
XML也是类似,在XML/XML Files/Editor中进行设置,不过只需要设置Line Width即可。
4. Caused by: java.lang.NoClassDefFoundError: Lorg/slf4j/Logger
maven工程里面确认已经声明了logger4j的坐标;那么问题基本就是因为在Web Assembly Deloyement中需要增加一个maven定义jar包的输出;工程-右键properties-Web Assembly Deployment-添加Java Build Path Entities-选择Maven Dependency,之后就会在部署列表中增加一个maven依赖部署到/WEB-INF/lib下面。