我正在使用mvn eclipse:eclipse
命令生成我的.project
和.classpath
。
但是,由于某些原因,我想在.classpath
文件中添加一行。我的pom.xml
中是否有可用于实现此目的的配置?
请注意,<additionalConfig>
无法使用,因为这会删除.classpath
的内容。
我正在使用maven 3.0.2和maven-eclipse-plugin 2.8。
答案 0 :(得分:4)
这取决于该行是什么。
generate-sources
,这会
自动被捡起
eclipse插件。如果要更改输出文件夹(从target/classes
和target/test-classes
到其他内容),请在maven构建配置中更改它们:
<build>
<!-- replace "target" -->
<directory>somedir</directory>
<!-- replace "target/classes" -->
<outputDirectory>anotherdir</outputDirectory>
<!-- replace "target/test-classes" -->
<testOutputDirectory>yetanotherdir</testOutputDirectory>
</build>
您可以单独配置这三个中的每一个,并且eclipse插件会选择更改,但将outputDirectory
和testOutputDirectory
置于directory
内通常被认为是一种很好的做法(通常通过引用${project.build.directory}
),否则您会破坏标准功能,例如mvn clean
(它会清除${project.build.directory}
):
<build>
<directory>bin</directory>
<outputDirectory>${project.build.directory}/main-classes
</outputDirectory>
<!-- this config will replace "target" with "bin",
compile src/main/java to "bin/main-classes"
and compile src/test/java to "bin/test-classes"
(because the default config for <testOutputDirectory> is
${project.build.directory}/test-classes )
-->
</build>
<强>参考:强>
更新:在您的情况下我想唯一可行的解决方案是以编程方式编辑.classpath
文件。我可能会做的是这样的事情:
<profile>
generate-resources
)<file><exists>${project.basedir}/.classpath</exists></file>
(因为您只希望它在eclipse项目中处于活动状态)此解决方案的问题:eclipse:eclipse
是一个目标,而不是一个阶段,因此无法自动执行此操作,因此您必须执行以下操作:
mvn eclipse:eclipse # two separate executions
mvn generate-resources # here, profile will be active
或者这也可能有效:
mvn -Peclipse eclipse:eclipse generate-resources