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>