我正在使用 Eclipse 开发一个带有 Spring mvc应用程序的maven
项目。我有一些黄瓜 - 硒测试案例来检查应用程序的一些行为。我将chromDriver.exe
放在路径target\classes\Driver
。
当我想运行该应用程序时,它抱怨:
The project was not built due to "Could not delete '/CyberMall/target/classes/Driver'.". Fix the problem, then try refreshing this project and building it since it may be inconsistent CyberMall Unknown Java Problem
似乎它试图删除Driver
中的target
文件夹,但它失败了,因此它无法构建应用程序。
那么,有没有办法要求Eclipse停止删除Driver文件夹?
我将驱动程序放在此路径中的原因是,我可以使用以下代码轻松访问它。
File file = new File(CyberMallApplication.class.getClassLoader().getResource("Driver/chromedriver.exe").getFile());
String driverPath=file.getAbsolutePath();
System.out.println(driverPath);
System.setProperty("webdriver.chrome.driver",driverPath);
如果我把它放入资源,我不知道如何访问它?
答案 0 :(得分:2)
我认为放置一个应该在targer文件夹中使用的文件并不是一个好习惯。
每个maven安装时目标文件夹应该是干净的,因此内容将被删除。
您可以将文件放入资源文件夹中。
查看该链接:https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
目标目录用于存放构建的所有输出。
资源目录的内容将放在WEB-INF / classes中。因此,您可以调整资源文件夹以使您的文件夹像您一样。
资源/驱动程序/ chromedriver.exe
答案 1 :(得分:1)
您应该将chromedriver.exe
添加到src/main/resources
并在系统属性中设置相对路径
System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver.exe");