在使用Eclipse 4.4.1的J2EE项目中,我们使用本地Tomcat来测试我们的应用程序 它在Eclipse 服务器视图中配置 高效的Platform已经集成了一个数据库驱动程序。对于本地测试环境,我们使用这个。
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.3-1102-jdbc41</version>
<scope>test</scope>
</dependency>
但是在将范围更改为编译之前它不起作用。使用编译范围,在Eclipse中配置的本地Tomcat正确启动,而不会抱怨缺少jdbc驱动程序 是否可以将Tomcat服务器配置为在测试范围内运行?从调试模式开始并不能解决这个问题。
答案 0 :(得分:1)
您正在使用maven依赖范围用于错误的目的。来自Maven POM reference:
test - 此范围表示不需要依赖项 正常使用该应用程序,仅适用于测试 编译和执行阶段。
您需要的是个人资料。来自Maven POM reference:
POM 4.0的一个新功能是项目改变的能力 设置取决于正在构建的环境。一个 profile元素包含可选的激活(配置文件 触发器)以及如果该配置文件对POM进行的更改集 已被激活。例如,为测试而构建的项目 环境可能指向与最终数据库不同的数据库 部署。或者可以从不同的存储库中提取依赖项 基于使用的JDK版本。
因此,请尝试在测试环境中添加配置文件,如下所示:
<profiles>
<profile>
<id>test</id>
<dependencies>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.3-1102-jdbc41</version>
</dependency>
</dependencies>
</profile>
</profiles>
要在eclipse上激活此配置文件,请执行以下操作:右键单击您的项目 - &gt; Maven - &gt;选择Maven Profile ...(在Windows上,只需CTRL + ALT + P)。然后,选择配置文件:
在命令行中,您可以执行以下操作来激活test
个人资料:
mvn <lifecycles> -Ptest