【发布时间】:2015-10-03 11:00:22
【问题描述】:
我试图在我的 Maven 项目中将 **/*.java 旁边的 **/*.properties 也包括到我的 .classpath 中,但它根本不起作用。
但它根本不会影响我的 .classpath 文件中的任何内容。
这是我pom.xml的相关部分:
<project xmlns="http://maven.apache.org/POM/4.0.0"...>
<build>
<scriptSourceDirectory>F:\07 Krauck-Systems\Workspace\git\PCMS\KSFramework\src\main\scripts</scriptSourceDirectory>
<testSourceDirectory>F:\07 Krauck-Systems\Workspace\git\PCMS\KSFramework\src\com\ks\framework\test</testSourceDirectory>
<outputDirectory>F:\07 Krauck-Systems\Workspace\git\PCMS\KSFramework\bin</outputDirectory>
<testOutputDirectory>F:\07 Krauck-Systems\Workspace\git\PCMS\KSFramework\bin\test-classes</testOutputDirectory>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>3.1</version>
<configuration>
<sourceIncludes>
<sourceInclude>**/*.properties</sourceInclude>
</sourceIncludes>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
这是生成的类路径条目:
<classpath>
<classpathentry including="**/*.java" kind="src" output="bin" path="src">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
[...]
</classpath>
更新:
使用第一个答案中推荐的 pom 后,我得到:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry including="**/*.java" kind="src" path="src/main/resources"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry including="**/*.java" kind="src" path="src/test/resources"/>
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.USER_LIBRARY/User Libraries"/>
<classpathentry exported="true" kind="lib" path="libs/collectionUtils/commons-collections4-4.0.jar" sourcepath="libs/collectionUtils/commons-collections4-4.0-sources.jar"/>
<classpathentry exported="true" kind="lib" path="libs/commons-lang3-3.1.jar"/>
<classpathentry exported="true" kind="lib" path="libs/commons-net-3.3.jar"/>
<classpathentry exported="true" kind="lib" path="libs/mailapi.jar"/>
<classpathentry exported="true" kind="lib" path="libs/smtp.jar"/>
<classpathentry exported="true" kind="lib" path="libs/mysql-connector-java-5.1.18-bin.jar"/>
<classpathentry exported="true" kind="lib" path="libs/joda-time-2.2.jar"/>
<classpathentry exported="true" kind="lib" path="libs/commons-collections4-4.0.jar"/>
<classpathentry exported="true" kind="lib" path="libs/velocity-1.7.jar"/>
<classpathentry kind="lib" path="libs/log4j-api-2.0.jar"/>
<classpathentry kind="lib" path="libs/log4j-core-2.0.jar"/>
<classpathentry kind="lib" path="libs/junit/hamcrest-all-1.3.jar"/>
<classpathentry exported="true" kind="lib" path="libs/commons-io-2.4.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="lib" path="libs/velocity/antlr-2.7.5.jar"/>
<classpathentry kind="lib" path="libs/velocity/avalon-logkit-2.1.jar"/>
<classpathentry kind="lib" path="libs/velocity/commons-collections-3.2.1.jar"/>
<classpathentry kind="lib" path="libs/velocity/commons-lang-2.4.jar"/>
<classpathentry kind="lib" path="libs/velocity/commons-logging-1.1.jar"/>
<classpathentry kind="lib" path="libs/velocity/jdom-1.0.jar"/>
<classpathentry kind="lib" path="libs/velocity/log4j-1.2.12.jar"/>
<classpathentry kind="lib" path="libs/velocity/maven-ant-tasks-2.0.9.jar"/>
<classpathentry kind="lib" path="libs/velocity/oro-2.0.8.jar"/>
<classpathentry kind="lib" path="libs/velocity/servletapi-2.3.jar"/>
<classpathentry kind="lib" path="libs/velocity/werken-xpath-0.9.4.jar"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
问题是,我还得补充:
|**/*.properties
在
<classpathentry including="**/*.java|**/*.properties" kind="src" path="src/main/resources"/>
使其工作(识别 config.properties 文件)。不幸的是,它并没有解决我的问题。还有什么问题吗?
【问题讨论】:
-
哪个 Eclipse 版本?您是否将 M2Eclipse 插件更新到最新版本?
标签: java maven classpath pom.xml