【问题标题】:Eclipse, Tomcat project context root is eclipse folderEclipse、Tomcat项目上下文根是eclipse文件夹
【发布时间】:2012-04-22 17:40:46
【问题描述】:

我在配置我的 Tomcat 项目时遇到了一点问题。简而言之,我正在开发一个动态网页项目,但对于我从哪里运行应用程序似乎有些混乱。

运行以下代码

File f = new File("");
System.err.println(f.getAbsolutePath());

产生输出C:/Eclipse,这恰好是我运行 Eclipse 的地方。 通常我希望这是输出目录,但这次不是这样。

我的 Eclipse 项目配置为将 myProject/WebContent/WEB-INF/classes 作为输出文件夹

如何配置到所需的目录?现在我需要使用不适用于项目所有成员的绝对路径。

【问题讨论】:

  • 那么这里的问题是什么?当前目录是 Eclipse 启动应用程序的位置。您的输出文件夹 - 是您应用的类路径的一部分。
  • 更新问题。我希望该目录成为工作区中项目的特定子文件夹,但我的配置似乎没有效果。
  • 对不起,我还没关注你。您尝试配置的目录的目的是什么?您在问题标题中提到了“上下文根”,这是您所追求的吗?通常,Eclipse 会为此在动态 Web 项目目录中创建 WebContent 目录。
  • 我的问题是 Eclipse 似乎很困惑,通常我希望根目录是编译文件所在的位置(bin 目录或等效文件),但是对于这个 tomcat 项目,它以某种方式设置为所在的文件夹我的 eclipse.exe 谎言。即使我尝试像上面所说的那样配置它。这会在尝试加载文件时导致问题。
  • 好的。好吧,对于 webapps,你编译的类必须去 /WEB-INF/classes 没有摆脱它。当应用程序运行时,它的“根”可能会有所不同——取决于你从哪里运行它(例如,Eclipse 会给你项目根,Apache Tomcat 会给你其他东西,相对于它的路径)。如果您需要访问 Web 应用程序中的静态资源,则需要使用相对路径。试试 ServletContext.getResourceAsStream(),像这里:stackoverflow.com/questions/865819/…

标签: java eclipse tomcat enterprise contextpath


【解决方案1】:

好的,我找到了解决方案。

似乎我的默认工作目录设置为项目的 eclipse 文件夹,所以我通过指定项目根文件夹而不是通常情况来解决它。

我在这里配置了这个:

运行配置 > Apache Tomcat 运行配置 > 参数选项卡,在“工作目录”下选择“其他”并指定目录。

感谢您的 cmets!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 2010-12-03
    • 2013-08-23
    • 2011-10-03
    • 2010-09-17
    • 1970-01-01
    • 2012-03-20
    相关资源
    最近更新 更多