2017-02-13 65 views
1

我正在运行使用Maven的Jetty服务器,执行mvn jetty:run目标。在我的Java代码中,我使用java.io.File来读取文件,但是我现有的代码假定进程正在我的basedir下的/war目录中运行。如何在使用Maven运行Jetty时更改工作目录?

如何在使用Maven Jetty插件时设置工作目录?

详情: 这些文件不是直属baseDirectory但孩子目录下:具体而言,webapp目录,也就是下${project.artifactId}-${project.version}

复制到目标文件夹,我想阅读的文件,而无需添加每次定义文件时的目标路径。

我可以使用读取文件。

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

我只想做:

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

下面是项目结构。 (这是典型的Maven Web应用程序的结构。)

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> 

回答

相关问题