在自定义sourceDirectory的情况下,Eclipse maven构建路径问题

try*_*arn 10 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>
Run Code Online (Sandbox Code Playgroud)

这是我的目录结构:

Src/java
----maven/pom.xml
----com/mycom/<...> // application code
Run Code Online (Sandbox Code Playgroud)

Mit*_*unS 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>
Run Code Online (Sandbox Code Playgroud)

现在,当您执行mvn eclipse:eclipse自定义源文件夹时,将添加到文件中的类路径条目.project.因此,您不需要进行任何手动配置,您的配置只需在运行时进行构建.如果您在自定义源文件夹中进行了测试,则也可以对测试源执行相同的操作.希望这可以帮助.

  • 请不要再使用`eclipse:eclipse`了.这将使m2eclipse无用,这是Eclipse的最佳Maven集成解决方案. (5认同)

Von*_*onC 2

将 Java 项目导入 Eclipse 工作区后,您可以指定实际的 src 文件夹

单击“打开 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