小编Ira*_*aes的帖子

使用Maven无法访问资源目录中的文件(使用Eclipse IDE)

我有几个小时的问题,我尝试了我在教程中找到的所有解决方案.这很简单:我无法访问资源文件.我尝试打开我已经把一个文件src/main/resourcessrc/test/resources.

我有一个简单的Java项目,我使用带有Eclipse作为IDE的Maven和m2e插件.我想使用Maven的资源过滤,具有不同的配置文件,并且我的POM.xml:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.3.2</version>
      <configuration>
    <source>1.5</source>
    <target>1.5</target>
    <debug>false</debug>
    <optimize>true</optimize>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-resources-plugin</artifactId>
      <version>2.4</version>
      <configuration>
    <encoding>UTF-8</encoding>
      </configuration>
    </plugin>
  </plugins>

  <filters>
    <filter>src/main/filters/${env}.properties</filter>
  </filters>

  <resources>
    <resource>
      <directory>src/main/resources</directory>
      <filtering>true</filtering>
    </resource>
    <resource>
      <directory>src/test/resources</directory>
      <filtering>true</filtering>
    </resource>
  </resources>
</build>

<profiles>
  <profile>
    <id>LOCAL</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
      <env>local</env>
    </properties>
      </profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)

我在src/java/test中做了一个简单的测试:

@Test
public void testOpenResourceFile() {
    File testf=new File("/test.txt");
    assertTrue(testf.exists());
}
Run Code Online (Sandbox Code Playgroud)

所以,在Eclipse中,我运行(在我的项目文件夹中,在包视图中):

  • 运行方式> Maven build> process-resources
  • 运行方式> Maven build> process-test-ressources
  • 运行方式> Maven build> compile

使用env:LOCAL …

java eclipse junit maven

22
推荐指数
3
解决办法
5万
查看次数

标签 统计

eclipse ×1

java ×1

junit ×1

maven ×1