1
我正在运行使用Maven的Jetty服务器,执行mvn jetty:run
目标。在我的Java代码中,我使用java.io.File
来读取文件,但是我现有的代码假定进程正在我的basedir
下的/war
目录中运行。如何在使用Maven运行Jetty时更改工作目录?
如何在使用Maven Jetty插件时设置工作目录?
详情: 这些文件不是直属baseDirectory
但孩子目录下:具体而言,webapp
目录,也就是下${project.artifactId}-${project.version}
复制到目标文件夹,我想阅读的文件,而无需添加每次定义文件时的目标路径。
我可以使用读取文件。
File file = new File("target/myProject-myVersion/fileToRead.txt")
我只想做:
File file = new File("fileToRead.txt")
下面是项目结构。 (这是典型的Maven Web应用程序的结构。)
MyDir/
[pom.xml]
src/main/
java/
com.example.mycode/
MyCode.java
webapp/
[fileToRead.txt]
[index.html]
[jsp.jsp]
WEB-INF/
[web.xml]
在pom.xml
我:
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.7.v20160115</version>
<configuration>
<webAppSourceDirectory>${project.basedir}/target/${project.artifactId}-${project.version}</webAppSourceDirectory>
</configuration>
</plugin>