我已经将现有的Java项目转换为Maven项目,并且在使用命令行时Maven可以完美构建所有内容。
当我将同一个项目导入Eclipse并进行编译时(通过右键单击该项目->作为Maven构建运行,它仍然可以编译而没有任何问题。
但是,我看不到源文件夹。当我检查构建路径时,会发出警告-缺少构建路径条目。
我没有使用标准的src/main/java
,因为我有一个无法更改的项目文件夹结构。
这是我的pom(注意 sourceDirectory
标签):
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycom</groupId>
<artifactId>maven</artifactId>
<version>17.4</version>
<name>maven</name>
<properties>
<projecrt.rootDir>../../java</projecrt.rootDir>
</properties>
<build>
<finalName>re</finalName>
<sourceDirectory>${projecrt.rootDir}</sourceDirectory>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifestEntries>
<Build-Version>${buildversion}</Build-Version>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
这是我的目录结构:
Src/java
----maven/pom.xml
----com/mycom/<...> // application code
答案 0 :(得分:8)
您可以使用此build-helper-maven-plugin
并以这种方式在pom文件中进行配置
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>some directory</source>
...
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
,现在,当您执行mvn eclipse:eclipse
时,自定义源文件夹将被添加到.project
文件中的类路径条目中。
因此,您无需进行任何手动配置,您的配置将仅在运行时构建。
如果将测试放在自定义源文件夹中,则也可以对测试源执行相同的操作。
希望这会有所帮助。
答案 1 :(得分:2)
将Java项目导入Eclipse工作空间后,您可以specify the actual src folder:
单击“打开Java透视图”窗口>“打开透视图”>“其他...”>“ Java”以更改为Java透视图。
在项目(project => property => java build path
的设置中,您还可以更改/添加src文件夹: