在定制sourceDirectory的情况下Eclipse Maven构建路径问题

时间:2018-07-09 04:51:56

标签: java eclipse maven maven-eclipse-plugin

我已经将现有的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

2 个答案:

答案 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透视图。

  • 在“项目布局”组中,将选择更改为“创建单独的源文件夹和输出文件夹”,然后编辑“配置默认...”,以将源文件夹名称从“ src”修改为“ sources”。

https://help.eclipse.org/neon/topic/org.eclipse.jdt.doc.user/gettingStarted/images/qs-OrganizeSources2.png

在项目(project => property => java build path的设置中,您还可以更改/添加src文件夹:

https://help.eclipse.org/neon/topic/org.eclipse.jdt.doc.user/gettingStarted/images/qs-OrganizeSources3.png