在使用Maven运行Jetty时,如何更改工作目录?
通过执行在使用Maven运行Jetty时,如何更改工作目录?,maven,jetty,maven-jetty-plugin,Maven,Jetty,Maven Jetty Plugin,通过执行mvnjetty:run目标,我正在使用Maven运行Jetty服务器。在我的Java代码中,我使用Java.io.File读取文件,但我现有的代码假定进程正在我的basedir下的/war目录中运行 使用Maven Jetty插件时如何设置工作目录 详情: 这些文件不直接在baseDirectory下,而是在子目录下:具体地说,是webapp目录,它被复制到${project.artifactId}-${project.version} 我想读取文件,而不必在每次定义文件时添加目标路径
mvnjetty:run
目标,我正在使用Maven运行Jetty服务器。在我的Java代码中,我使用Java.io.File
读取文件,但我现有的代码假定进程正在我的basedir
下的/war
目录中运行
使用Maven Jetty插件时如何设置工作目录
详情:
这些文件不直接在baseDirectory
下,而是在子目录下:具体地说,是webapp
目录,它被复制到${project.artifactId}-${project.version}
我想读取文件,而不必在每次定义文件时添加目标路径
我可以用计算机读取文件
File file = new File("target/myProject-myVersion/fileToRead.txt")
我只想做:
File file = new File("fileToRead.txt")
以下是项目结构。(这是典型的Maven webapp结构。)
在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>
org.eclipse.jetty
jetty maven插件
9.3.7.v20160115
${project.basedir}/target/${project.artifactId}-${project.version}
使用API
File File=new文件(servletContext.getRealPath(“/fileToRead.txt”);
<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>