我有几个小时的问题,我尝试了我在教程中找到的所有解决方案.这很简单:我无法访问资源文件.我尝试打开我已经把一个文件src/main/resources和src/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中,我运行(在我的项目文件夹中,在包视图中):
使用env:LOCAL …