Ram*_*Ram 27 eclipse tomcat6 eclipse-wtp
从Eclipse运行我的WebApp项目时,它大多数时候都能正常运行.但如果错误地停止服务器,我会在"控制台"视图中将其删除,而不是从"服务器"视图中"停止"服务器.在运行干净的项目时我得到了这个
java.lang.NullPointerException
at org.eclipse.wst.common.componentcore.internal.util.VirtualReferenceUtilities.getDefaultProjectArchiveName(VirtualReferenceUtilities.java:81)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getJavaClasspathReferences(J2EEModuleVirtualComponent.java:332)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getNonManifestRefs(J2EEModuleVirtualComponent.java:236)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:160)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:208)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:201)
at org.eclipse.jst.common.internal.modulecore.SingleRootUtil.hasConsumableReferences(SingleRootUtil.java:217)
at org.eclipse.jst.common.internal.modulecore.SingleRootUtil.validateSingleRoot(SingleRootUtil.java:165)
at org.eclipse.jst.common.internal.modulecore.SingleRootUtil.isSingleRoot(SingleRootUtil.java:93)
at org.eclipse.jst.common.internal.modulecore.SingleRootExportParticipant.canOptimize(SingleRootExportParticipant.java:84)
at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.canOptimize(FlatVirtualComponent.java:136)
at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.cacheResources(FlatVirtualComponent.java:118)
at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.fetchResources(FlatVirtualComponent.java:101)
at org.eclipse.wst.web.internal.deployables.FlatComponentDeployable.members(FlatComponentDeployable.java:147)
at org.eclipse.wst.server.core.internal.ModulePublishInfo.hasDelta(ModulePublishInfo.java:418)
at org.eclipse.wst.server.core.internal.ServerPublishInfo.hasDelta(ServerPublishInfo.java:443)
at org.eclipse.wst.server.core.internal.Server.hasPublishedResourceDelta(Server.java:1539)
at org.eclipse.wst.server.core.internal.Server$ResourceChangeJob$1.visit(Server.java:214)
at org.eclipse.wst.server.core.internal.Server.visitModule(Server.java:2929)
at org.eclipse.wst.server.core.internal.Server.visit(Server.java:2913)
at org.eclipse.wst.server.core.internal.Server$ResourceChangeJob.run(Server.java:225)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Run Code Online (Sandbox Code Playgroud)
在启动时,我得到了这个
SEVERE: Error starting static Resources
java.lang.IllegalArgumentException: Document base D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Webapp does not exist or is not a readable directory
at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:142)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4319)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
Run Code Online (Sandbox Code Playgroud)
请帮助从中恢复.
Ale*_*los 39
我很难让它工作,但感谢"Alexander Pogrebnyak"(参见在WTP(Eclipse)tomcat服务器中部署war文件)我能够通过m2e使Eclipse Web Projects与Maven一起工作:
在开始之前,我必须说我是一个非常可疑的人,所以我总是首先使用"Eclipse> Project> Clean ..."菜单清理我的所有项目(不选中"立即启动构建"选项).我也没有选中"Eclipse> Project> Build Automatically"选项.
顺便说一下,我想你已经安装了你的m2e插件,或者我要说的没有意义......
好吧,让我们开始吧:
首先,再见服务器配置:
1)如果您在之前的服务器配置中有任何项目,请将其删除(右键单击服务器并选择"添加和删除"选项)
2)清理服务器工作目录(右键单击服务器并选择"Tomcat Server工作目录")
3)清理已编译的"剩余物"(右键单击服务器并选择"清除")
4)从"服务器"选项卡中删除服务器配置
5)完全删除"Servers"项目/文件夹(显示在"Project Explorer"选项卡中)
6)BONUS:我还删除了我的服务器运行时环境("Eclipse> Window> Preferences> Server> Runtime Environments")
第二,"Maven clean"(如果您的网络项目具有"Maven性质"):
1)右键单击您的Web项目
2)"弹出菜单>运行方式> Maven清理"
这应该消灭您的目标文件夹
第三,安装m2 WTP集成(是的!它不是"默认".整整一天来弄清楚):
1)打开Maven"Discovery"选项(Eclipse> Windows> Preferences> Maven> Discovery)
2)按"打开目录"按钮(应出现"m2e市场"窗口)
3)向下滚动,直到找到"WTP Integration"选项,然后"检查"它!
4)按"完成"
5)将出现"类似插件屏幕"."下一步","下一步","同意",等等,等等......等等......
第四,离开Eclipse而不是再次运行它:
1)如果没有要求重新安装Eclipse(我很难相信你不会),请自行重启!
五,maven重新融合:
1)将Maven性质添加到项目中(右键单击您的Web项目,"弹出菜单>配置>转换为Maven项目")
2)更新你的maven配置(是的,是的,可疑,我知道).再次右键单击您的Web项目,现在图标上显示"M"("弹出菜单> Maven>更新项目")
3)运行maven安装(右键单击您的Web项目,"弹出菜单>运行方式> Maven安装")
4)构建项目("Eclipse> Project> Build All")
第六,全力以赴:
1)部署并运行您的Web应用程序(右键单击您的Web项目,"弹出菜单>运行方式>在服务器上运行")
2)将要求您创建另一个服务器配置.它将再次创建"Servers"项目/文件夹,但就是这样.
而已!!!我必须承认,一旦我运行服务器,它就无法工作,但这一次(我不知道为什么)找不到"Log4J"库.在一个"项目清理"+"maven清理"和一个"maven安装"+"项目构建"之后,另一条消息指出我的Servlet类无法找到.再一次,我执行了"项目清洁"+"maven clean"和"maven安装"+"项目构建"和"瞧"!它奏效了(这就是为什么我如此怀疑).
我开始担心这款全新的Juno + m2e双倍......从未遇到过Indigo或Ganymede的这类问题...但我想我可以再次信任Eclipse(可以吗?)
小智 7
不要做那些疯狂的宇宙变通办法!!
这很好用:
添加到".project"文件(隐藏)这些行:
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
Run Code Online (Sandbox Code Playgroud)
请享用 !
为什么?如果你检查那个不存在的目录,"../.metadata/blah/blah/tmp0/wtpwebapps/YOURPROJECT/"那么,那就是EMPTY:那么你的构建不会创建WAR ... !!!
因为maven插件不理解他有!
我在比较两个不同的部署/非部署项目的两个.project文件后发现了这个...
希望有帮助!
| 归档时间: |
|
| 查看次数: |
59158 次 |
| 最近记录: |