Я запускаю сервер Jetty, используя Maven, выполнив цель mvn jetty:run
. В моем Java-коде я читаю файлы с использованием java.io.File
, но мой существующий код предполагает, что процесс запущен в каталоге /war
под моим basedir
.Как изменить рабочий каталог во время работы Jetty с Maven?
Как установить рабочий каталог при использовании плагина Maven Jetty?
Детали: Эти файлы не непосредственно под baseDirectory
, но в директории ребенка: в частности, каталог webapp
, который копируется в целевую папку под ${project.artifactId}-${project.version}
Я хочу, чтобы читать файлы без добавления целевой путь каждый раз, когда я определяю файл.
Я могу читать файлы, используя.
File file = new File("target/myProject-myVersion/fileToRead.txt")
Я просто хочу сделать:
File file = new File("fileToRead.txt")
Ниже представлена структура проекта. (Это типичная структура веб-приложение Maven.)
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>