9

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

2 回答 2

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文件中的类路径条目中。因此,您不需要进行任何手动配置,您的配置只会在运行时构建。如果您将测试放在自定义源文件夹中,您也可以对测试源执行相同的操作。希望这可以帮助。

于 2018-07-16T01:19:14.680 回答
2

在 Eclipse 工作区中导入 Java 项目后,您可以指定实际的 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

于 2018-07-15T06:26:05.157 回答