0 0

如何从Eclipse里面的SpringJunit4ClassRunner访问TOMCAT目录下的项目application-context.xml0

大家好,

 

我打算从本地工作空间(Eclipse)里面的一个JUnit 测试类访问一个运行在TOMCAT环境的项目的application-context.xml文件。

 

我的初始代码如下:

 

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
    "classpath:/WEB-INF/applicationContext-resources.xml"
})
public class JUnitAccessSpringContextTest
{
}

 

以上的代码是用来访问Eclipse本地空间里的context的,很不幸,这份代码在我的项目不起作用,因为applicationContext-resources.xml的值会在部署阶段被替换掉,所以我只能访问Tomcat里面已经部署好的项目context,代码如下:

 

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
    "file:<path_to_my_tomcat_application>/applicationContext-resources.xml"
})
public class JUnitAccessSpringContextTest
{
}

 

这段代码是可以运行的,但是去tomcat的路径被硬编码了。

 

问题一:

有没有什么办法在@ContextConfiguration(locations 中插入一定变量,比如说从property文件读的值,或者干脆是tomcat_home的系统变量System.getenv("CATALINA_HOME") 在加上某个类的静态变量?这样我就不需要硬编码了。

 

---

 

一个可能的替代解决方案是,把TOMCAT_HOME作为变量设置到我的Eclipse classpath里面,也就是Project Java Build Path里面。我尝试了两种可能性。

 

第一,我将TOMCAT_HOME加上项目名字一起作为一个变量(TOMCAT_HOME/project_name)设置到Eclipse classpath,这样我下面的代码就可以运行:

 

@ContextConfiguration(locations = {
    "classpath:WEB-INF/applicationContext-resources.xml"
})

 

但是,由于我的项目名称在部署阶段也会更改,所以我实际上只能将TOMCAT_HOME放到Eclipse classpath里面去,而context的指定需要通过相对路径,跳过项目名称(project_name)来完成,但是,我下面代码就又找不applicationContext-resources.xml文件了:

 

@ContextConfiguration(locations = {
    "classpath:*/WEB-INF/applicationContext-resources.xml"
})

问题二:

 

请问我上面代码哪里出错了?

 

谢谢大家!

 

2013年5月30日 06:24
目前还没有答案

相关推荐

    spring4.3.9相关jar包

    spring-web.jar(必须) :这个jar 文件包含Web 应用开发时,用到Spring 框架时所需的核心类,包括自动载入Web Application Context 特性的类、Struts 与JSF 集成类、文件上传的支持类、Filter 类和大量工具辅助类。...

    Eclipse+tomcat+maven 配置Spring mvc图文教程

    【Eclipse+Tomcat+Maven 配置Spring MVC图文教程】 在开发Java Web应用程序时,集成Spring MVC框架是常见的需求。本教程将详细介绍如何在Eclipse IDE中配置开发环境,包括Eclipse、Tomcat服务器、Maven构建工具以及...

    web.xml配置文件详解

    ### web.xml配置文件详解 #### 一、概述 `web.xml`是Java Web应用程序的核心配置文件之一,主要用于定义Web应用程序的结构与行为。它是Servlet容器(如Tomcat)读取Web应用程序配置信息的主要来源,因此深入理解其...

    Eclipse+CXF开发Web服务、Tomcat部署

    4. 启动或重启Tomcat服务器,应用将部署并可通过浏览器或客户端程序访问。 在进行部署时,我们可能需要检查Tomcat的配置文件如server.xml来确保端口设置正确,以及是否有其他应用使用了相同的上下文路径导致冲突。 ...

    在Eclipse 中配置Tomcat项目

    当项目启动时,Tomcat会在这个子目录中查找WEB-INF目录下的web.xml文件来加载应用配置。 6. **配置DevLoader**:切换到“Devloader classpath”选项卡,并按照需要选择所需的类路径条目,以便为项目提供正确的类路径...

    Eclipse RAP Deploy - 针对Eclipse 3.5 + Tomcat

    Eclipse RAP Deploy 是一个关于如何在Eclipse 3.5环境下部署RAP应用程序,并结合Tomcat服务器进行运行的教程。RAP(RWT Application Platform)是用于构建富客户端Web应用的框架,它允许开发者使用Java SWT...

    将red5集成到Tomcat服务器中

    解压缩ROOT.war,并将`web-inf/lib`目录下的所有JAR文件复制到myApp项目的`lib`目录,确保Spring框架和Red5所需的依赖项都被引入。 5. **添加Red5核心库**: 从Red5安装目录复制`red5.jar`文件到myApp的`WEB-INF/...

    Java ADF开发入门-简单ArcGIS Server Web ADF应用

    Java ADF(Application Development Framework)是Esri公司提供的一个用于构建地理信息系统(GIS)Web应用程序的框架,尤其针对ArcGIS Server。本教程将带你逐步了解如何使用Java ADF开发一个简单的Web应用程序,...

    ssh整合步骤一站式

    - 打开Tomcat安装目录下的`conf`文件夹中的`server.xml`文件。 - 添加`Context`节点以指定Web应用的路径和资源位置,示例如下: ```xml &lt;Context path="/ssh" docBase="D:\ssh\WebRoot" reloadable="true" /&gt; `...

    jsf必需的jar包

    3. **手动复制**:将jar文件复制到项目的lib目录下,并确保IDE或构建工具已经配置了该目录作为类路径。 不正确地配置JSF依赖可能导致编译错误、运行时异常或者应用功能无法正常使用。因此,正确理解并管理`jsf-api....

    MyEclipse+Tomcat+Oracle环境配置-jdk环境变量配置.pdf

    4. **TOMCAT的XML文件配置**:在Tomcat的配置文件`tomcat-users.xml`中添加用户和角色,以实现对Tomcat管理界面的访问。此外,还需在`context.xml`或`server.xml`中配置数据源(DataSource),定义JNDI名称、数据源...

    Developing a Spring Framework MVC application step-by-step

    4. **配置servlet-context.xml**:在`/WEB-INF/spring/appServlet/servlet-context.xml`中,设置Spring MVC的组件扫描和视图解析器。 ```xml &lt;context:component-scan base-package="com.example.myapp" /&gt; ...

    tomcat7.070 源码及转成eclipse

    【标题】"Tomcat 7.0.70 源码分析与Eclipse工程转换" 在Java Web开发领域,Apache Tomcat是一个广泛使用的开源应用服务器,尤其在处理Servlet和JSP方面。Tomcat 7.0.70是7.x系列的一个版本,它包含了对Java Servlet...

    在Eclipse中配置Spring.rar

    如果你的项目是Maven项目,编辑`pom.xml`文件,添加Spring框架及其相关模块的依赖,例如spring-web、spring-context、spring-webmvc等。如果是Gradle项目,修改`build.gradle`文件,添加对应的dependency。 在...

    快速搭建一个简易的spring web工程

    在src/main/webapp/WEB-INF/spring/appServlet目录下创建servlet-context.xml文件,配置Spring MVC的处理器映射器、视图解析器等: ```xml &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi...

    springboot war

    在传统的Java Web开发中,我们通常会创建一个WAR(Web Application Archive)文件,然后将其部署到像Tomcat这样的外部应用服务器上。SpringBoot同样支持这种模式,尽管它的默认配置是生成一个可执行的JAR文件,可以...

    hellospringboot.zip

    首先,我们需要确保Eclipse已经安装了Spring Boot插件,如STS(Spring Tools Suite)或者Spring Facet,以便更好地支持Spring Boot项目。安装完成后,可以创建一个新的Spring Boot项目,选择"Spring Initializr"模板...

    websocket整合spring

    在`src/main/resources`目录下创建`springsMVC.xml`和`spring.xml`文件,分别用于配置Spring MVC和Spring容器。 ##### 1. springMVC.xml配置 ```xml &lt;beans xmlns="http://www.springframework.org/schema/beans" ...

    eclipse+tomcat开发portlet

    在META-INF目录下创建名为`context.xml`的文件,这是Tomcat的配置文件。在这个文件中,添加`&lt;Context crossContext="true" /&gt;`,其中`crossContext`属性设为`true`,允许portlet与同一应用中的其他组件交互,满足...

    WinXP WEB调试环境安装配置手册

    - 配置conf\server.xml,设定端口、Context等信息。 - 设置环境变量CATALINA_HOME指向Tomcat安装目录。 - 启动Tomcat服务,部署JSP应用。 7. **Perl与CGI支持** - 安装Perl解释器,如ActivePerl。 - 创建一个...

Global site tag (gtag.js) - Google Analytics