2017-02-13 2 views
1

Ich betreibe einen Jetty-Server mit Maven durch Ausführen der mvn jetty:run Ziel. In meinem Java-Code lese ich Dateien unter java.io.File, aber mein bestehender Code geht davon aus, dass der Prozess im Verzeichnis /war unter meiner basedir läuft.Wie kann ich das Arbeitsverzeichnis ändern, während Jetty mit Maven ausgeführt wird?

Wie lege ich das Arbeitsverzeichnis fest, wenn ich das Maven Jetty Plugin verwende?

Details: Diese Dateien sind nicht direkt unter dem baseDirectory aber unter einem Kind Verzeichnis: Insbesondere das webapp Verzeichnis, das in den Zielordner unter ${project.artifactId}-${project.version}

kopiert ich die Dateien lesen möchten, ohne hinzufügen zu müssen der Zielpfad jedes Mal, wenn ich eine Datei definiere.

Ich kann Dateien mit lesen.

File file = new File("target/myProject-myVersion/fileToRead.txt") 

Ich möchte nur tun:

File file = new File("fileToRead.txt") 

Unterhalb der Projektstruktur ist. (Es ist die typische Maven Webapp-Struktur.)

MyDir/ 
    [pom.xml] 
    src/main/ 
    java/ 
     com.example.mycode/ 
     MyCode.java 
    webapp/ 
     [fileToRead.txt] 
     [index.html] 
     [jsp.jsp] 
     WEB-INF/ 
     [web.xml] 

In pom.xml ich habe:

   <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> 

Antwort

Verwandte Themen