2017-02-13 23 views
1

Я запускаю сервер 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> 

ответ