0

我开始使用以下环境开展一个新项目:

  • Ubuntu 12.04
  • java版本“1.6.0_27”
  • 面向 Web 开发人员的 Eclipse Java EE IDE。版本:Helios 服务版本 1
  • SpringSource 工具套件版本:2.9.2.RELEASE
  • tomcat 6(我可以从 Eclipse IDE 启动、停止)
  • PostgresSql 数据库 + pgAdmin III

我遵循了预期的教程:

  • docs.spring.io/spring-roo/reference/html/beginning.html
  • docs.spring.io/spring-roo/reference/html/base-dbre.html

我设法创建了我的项目,并使用逆向工程过程生成了所有业务对象。我还设法使用 Web MVC 流程创建了控制器对象。

我遇到的问题是我无法让我的项目在tomcat上运行。我无法创建服务器并将我的项目添加到其中:我右键单击服务器选项卡,新建 => 新服务器 => 我选择 tomcat 6 => 我检查运行时环境:链接到 /opt/tomcat6 并使用工作台默认 JRE 作为预期 => 我单击下一步按钮:然后我无法在列表中看到我的项目。所以我无法将它添加到服务器为了尝试另一种方式,我将我的项目导出到位于 /opt/tomcat6 的 war 文件中。当我更新war文件时,似乎我的应用程序在webapps上更新了但我认为war文件不正确,因为这是它的内容:

-- log.roo
-- pom.xml
-- .settings/
-- src/ And here
-- ++ main/
-- ++ ** java/
-- ++ ** resources/
-- ++ ** webapp/
-- ++ ** -- images/
-- ++ ** -- styles/
-- ++ ** -- WEB-INF/
-- ++ ** -- ++ classes/
-- ++ ** -- ++ i18n/
-- ++ ** -- ++ layouts/
-- ++ ** -- ++ spring/
-- ++ ** -- ++ tags/
-- ++ ** -- ++ views/
-- ++ ** -- ++ web.xml

当我在本地主机:8080/MyProject/ 上运行时,出现 404 错误……我认为根据目录内容是预期的……???...

从网上搜索,我对 Project Facets 很感兴趣...我看到一个帖子,有人被告知右键单击该项目 => 配置 => 转换为分面形式...

只要“转换为多面形式......”末尾有树点,我点击这个菜单......它实际上转换了项目-_-

我不知道这是否是一个额外的问题,或者它是否是一件好事......但目前它并没有解决我的问题。

顺便说一句,我现在可以为我的项目选择方面......但是哪一个???那是另一个问题...

还有一个线索:

在查看 Eclipse 的“问题”选项卡时,我发现我有 100 次相同的错误:

Description Resource Path Location Type
javax.servlet cannot be resolved to a type category.tagx /MyProject/src/main/webapp/WEB-INF/tags/menu line 1 JSP Problem

但是,我的 pom.xml 中有预期的以下内容:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>

在“错误日志”选项卡中,我也有以下错误(这应该与我的问题无关?):错误项目 facet grails.app 尚未定义。它用于插件 com.springsource.sts.server.tc.core。

我也有这个消息(这肯定与我的问题有关?):

Info build: Abort due to missing classpath/inpath/aspectpath entries
Info /MyProject : Project 'MyProject' is missing required source folder: 'src/test/resources'
Info /MyProject : Project 'MyProject' is missing required source folder: 'src/test/java'

这些文件夹是存在的......但我没有使用它们,所以我从构建路径管理窗口的“源”选项卡中删除了它们。它在“错误日志”选项卡中产生了很多错误。这里有几个例子可以帮助你帮助我:

Error Problems occurred when invoking code from plug-in: "org.eclipse.jdt.core".
java.lang.NullPointerException: type must not be null
at org.eclipse.jst.ws.jaxws.utils.ContractChecker.nul lCheckParam(ContractChecker.java:40)
at org.eclipse.jst.ws.jaxws.utils.internal.annotation s.impl.AnnotationInspectorImpl.<init>(AnnotationIn spectorImpl.java:76)
at org.eclipse.jst.ws.jaxws.utils.annotations.Annotat ionFactory.createAnnotationInspector(AnnotationFac tory.java:350)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.J axWsWorkspaceResource.newAnnotationInspector(JaxWs WorkspaceResource.java:206)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.AbstractModelSynchronizer.processCompilationUn it(AbstractModelSynchronizer.java:115)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.handleAddedCompilatio nUnit(OnEventModelSynchronizer.java:354)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.recursevilyHandleComp ilationUnits(OnEventModelSynchronizer.java:278)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.recursevilyHandleComp ilationUnits(OnEventModelSynchronizer.java:302)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.recursevilyHandleComp ilationUnits(OnEventModelSynchronizer.java:302)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.handleChangedProject( OnEventModelSynchronizer.java:176)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.elementChanged(OnEven tModelSynchronizer.java:86)
at org.eclipse.jdt.internal.core.DeltaProcessor$3.run (DeltaProcessor.java:1557)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner .java:42)
at org.eclipse.jdt.internal.core.DeltaProcessor.notif yListeners(DeltaProcessor.java:1547)
at org.eclipse.jdt.internal.core.DeltaProcessor.fireP ostChangeDelta(DeltaProcessor.java:1381)
at org.eclipse.jdt.internal.core.DeltaProcessor.fire( DeltaProcessor.java:1357)
at org.eclipse.jdt.internal.core.JavaModelOperation.r un(JavaModelOperation.java:769)
at org.eclipse.core.internal.resources.Workspace.run( Workspace.java:1975)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:47 77)
at org.eclipse.jst.jsp.core.internal.validation.JSPBa tchValidator.validate(JSPBatchValidator.java:532)
at org.eclipse.wst.validation.Validator$V2.validate(V alidator.java:1159)
at org.eclipse.wst.validation.internal.ValManager.val idate(ValManager.java:704)
at org.eclipse.wst.validation.internal.ValBuilderJob$ Visitor.visit(ValBuilderJob.java:334)
at org.eclipse.core.internal.events.ResourceDelta.acc ept(ResourceDelta.java:68)
at org.eclipse.core.internal.events.ResourceDelta.acc ept(ResourceDelta.java:79)
at org.eclipse.core.internal.events.ResourceDelta.acc ept(ResourceDelta.java:48)
at org.eclipse.wst.validation.internal.ValBuilderJob. deltaBuild(ValBuilderJob.java:211)
at org.eclipse.wst.validation.internal.ValBuilderJob. run(ValBuilderJob.java:179)
at org.eclipse.wst.validation.internal.ValBuilderJob. runInWorkspace(ValBuilderJob.java:126)
at org.eclipse.core.internal.resources.InternalWorksp aceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.j ava:54)


Error Exception occurred in listener of Java element change notification
java.lang.NullPointerException: type must not be null
at org.eclipse.jst.ws.jaxws.utils.ContractChecker.nul lCheckParam(ContractChecker.java:40)
at org.eclipse.jst.ws.jaxws.utils.internal.annotation s.impl.AnnotationInspectorImpl.<init>(AnnotationIn spectorImpl.java:76)
at org.eclipse.jst.ws.jaxws.utils.annotations.Annotat ionFactory.createAnnotationInspector(AnnotationFac tory.java:350)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.J axWsWorkspaceResource.newAnnotationInspector(JaxWs WorkspaceResource.java:206)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.AbstractModelSynchronizer.processCompilationUn it(AbstractModelSynchronizer.java:115)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.handleAddedCompilatio nUnit(OnEventModelSynchronizer.java:354)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.recursevilyHandleComp ilationUnits(OnEventModelSynchronizer.java:278)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.recursevilyHandleComp ilationUnits(OnEventModelSynchronizer.java:302)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.recursevilyHandleComp ilationUnits(OnEventModelSynchronizer.java:302)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.handleChangedProject( OnEventModelSynchronizer.java:176)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.elementChanged(OnEven tModelSynchronizer.java:86)
at org.eclipse.jdt.internal.core.DeltaProcessor$3.run (DeltaProcessor.java:1557)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner .java:42)
at org.eclipse.jdt.internal.core.DeltaProcessor.notif yListeners(DeltaProcessor.java:1547)
at org.eclipse.jdt.internal.core.DeltaProcessor.fireP ostChangeDelta(DeltaProcessor.java:1381)
at org.eclipse.jdt.internal.core.DeltaProcessor.fire( DeltaProcessor.java:1357)
at org.eclipse.jdt.internal.core.JavaModelOperation.r un(JavaModelOperation.java:769)
at org.eclipse.core.internal.resources.Workspace.run( Workspace.java:1975)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:47 77)
at org.eclipse.jst.jsp.core.internal.validation.JSPBa tchValidator.validate(JSPBatchValidator.java:532)
at org.eclipse.wst.validation.Validator$V2.validate(V alidator.java:1159)
at org.eclipse.wst.validation.internal.ValManager.val idate(ValManager.java:704)
at org.eclipse.wst.validation.internal.ValBuilderJob$ Visitor.visit(ValBuilderJob.java:334)
at org.eclipse.core.internal.events.ResourceDelta.acc ept(ResourceDelta.java:68)
at org.eclipse.core.internal.events.ResourceDelta.acc ept(ResourceDelta.java:79)
at org.eclipse.core.internal.events.ResourceDelta.acc ept(ResourceDelta.java:48)
at org.eclipse.wst.validation.internal.ValBuilderJob. deltaBuild(ValBuilderJob.java:211)
at org.eclipse.wst.validation.internal.ValBuilderJob. run(ValBuilderJob.java:179)
at org.eclipse.wst.validation.internal.ValBuilderJob. runInWorkspace(ValBuilderJob.java:126)
at org.eclipse.core.internal.resources.InternalWorksp aceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.j ava:54)


Error File not found: '/MyProject/src/main/java/__2F_MyProject_2F_src_2F_main_2F_webapp_2F_WEB_2D_ INF_2F_tags_2F_form_2F_fields_2F_select_2E_tagx.ja va'
org.eclipse.core.internal.resources.ResourceExcept ion: Resource '/MyProject/src/main/java/__2F_MyProject_2F_src_2F_main_2F_webapp_2F_WEB_2D_ INF_2F_tags_2F_form_2F_fields_2F_select_2E_tagx.ja va' does not exist.
at org.eclipse.core.internal.resources.Resource.check Exists(Resource.java:326)
at org.eclipse.core.internal.resources.Resource.check Accessible(Resource.java:200)
at org.eclipse.core.internal.resources.File.getConten ts(File.java:291)
at org.eclipse.jdt.internal.core.util.Util.getResourc eContentsAsCharArray(Util.java:1186)
at org.eclipse.jdt.internal.core.CompilationUnit.getC ontents(CompilationUnit.java:649)
(...)
at org.eclipse.core.internal.events.ResourceDelta.acc ept(ResourceDelta.java:48)
at org.eclipse.wst.validation.internal.ValBuilderJob. deltaBuild(ValBuilderJob.java:211)
at org.eclipse.wst.validation.internal.ValBuilderJob. run(ValBuilderJob.java:179)
at org.eclipse.wst.validation.internal.ValBuilderJob. runInWorkspace(ValBuilderJob.java:126)
at org.eclipse.core.internal.resources.InternalWorksp aceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.j ava:54)
  • 现在我在“问题”选项卡中有以下错误:

    描述资源路径位置类型类路径错误:无法找到org.aspectj.lang.JoinPoint(检查aspectjrt.jar是否在您的类路径中) MyProject Unknown Java Problem

但是,我的 pom.xml 中有预期的内容:

        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
4

2 回答 2

0

这似乎是一个 Eclipse 问题。尝试从头开始创建项目并使用 Maven Tomcat 插件运行:“mvn clean install tomcat:run”

于 2014-01-09T23:13:17.617 回答
0

最终的解决方案:

wiki.eclipse.org/WTP_Tomcat_FAQ#If_I_start_my_Tomcat_server_and_try_to_display_Tomcat.27s_default_page.2C_why_do_I_see_a_directory_listing_or_404_error_page.3F
    then
    wiki.eclipse.org/WTP_Tomcat_FAQ#What_configuration_option_determines_whether_the_Tomcat_server_uses_a_separate_instance_or_the_instance_from_the_Tomcat_installation.3F

在 STS 中,在“服务器”选项卡中,右键单击您的服务器 => 打开。

在“服务器位置”部分,您有一些单选按钮:

  • 使用工作空间元数据(不修改 Tomcat 安装)
  • 使用 Tomcat 安装(控制 Tomcat 安装)
  • 使用自定义位置(不修改Tomcat安装)

在我的情况下选择了第一个,而不是第二个。服务器路径通向我的工作区 .metada 目录 (/xxx/.metadata/.plugins/org.eclipse.wst.server.core/tmp0)。部署路径是“wtpwebapps”。

事实上,我的项目可能从一开始就可以工作......但我从未尝试直接访问我的项目页面......尝试首先访问根 tomcat 页面。那是个错误...

如果你想让它工作,试试这个:

  • 如果正在运行则关闭服务器
  • 从此服务器中删除所有项目
  • 右键单击它=>打开
  • 在“服务器位置”部分,选择“使用 Tomcat 安装(控制 Tomcat 安装)”
  • 更改服务器路径值(在我的情况下:“/opt/tomcat6”)
  • 更改部署路径值(在我的情况下为“webapps”)
  • 再次将您的项目添加到服务器
  • 运行

这行得通!

于 2014-01-10T13:11:00.437 回答