Проблема с построением пути Eclipse maven в случае настраиваемого исходного каталога
Я преобразовал существующий проект 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
Ответы
Ответ 1
Вы можете использовать этот 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
. Таким образом, вам не нужно выполнять какую-либо ручную настройку, ваша конфигурация просто будет построена во время выполнения. Вы можете сделать то же самое и для своих тестовых источников, если у вас есть тесты в специальной исходной папке. Надеюсь это поможет.
Ответ 2
Когда ваш проект Java импортируется в рабочее пространство Eclipse, вы можете указать фактическую папку src:
Нажмите "Открыть перспективу Java"> "Окно"> "Открыть перспективу"> "Другое...> Java, чтобы перейти на перспективу Java.
- В группе компоновки проекта измените выбор на "Создать отдельные папки источника и вывода" и отредактируйте "Настроить значение по умолчанию"..., чтобы изменить имя исходной папки с "src" на "sources".
В настройках вашего проекта (project => property => java build path
) вы также можете изменить/добавить папки src: