Путь Java-src в pom.xml, в то время как есть несколько модулей - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть проект с двумя модулями со следующими файлами pom.xml, но идея intellij не обнаруживает java-файлы и не рассматривает их как общий файл, где я допустил ошибку?

project structure

, а pom-файл для модуля a -

<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">

	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>myproj</groupId>
		<artifactId>parent</artifactId>
		<version>0.4.0-SNAPSHOT</version>
		<relativePath>../pom.xml</relativePath>
	</parent>

	<artifactId>module-a</artifactId>
	<name>module-a</name>
	<packaging>jar</packaging>
	<description>module-a</description>

	<dependencies>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.21</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<configuration>
						<testFailureIgnore>true</testFailureIgnore>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

</project>

, а файл pom для модуля -b -

<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">

	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>myproj</groupId>
		<artifactId>parent</artifactId>
		<version>0.4.0-SNAPSHOT</version>
		<relativePath>../pom.xml</relativePath>
	</parent>

	<artifactId>module-b</artifactId>
	<name>module-b</name>
	<packaging>jar</packaging>
	<description>module-b</description>

	<dependencies>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.21</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<configuration>
						<testFailureIgnore>true</testFailureIgnore>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

</project>

, а родительский файл pom -

<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">

	<modelVersion>4.0.0</modelVersion>

	<groupId>myproj</groupId>
	<artifactId>parent</artifactId>
	<name>myproj.parent</name>
	<packaging>pom</packaging>
	<version>0.4.0-SNAPSHOT</version>

	<scm>
		<connection>scm:svn:http://localhost:7070/svn/myproj/branches/test</connection>
		<developerConnection>scm:svn:http://localhost:7070/svn/myproj/branches/test</developerConnection>
	</scm>

	<modules>
		<module>module-a</module>
		<module>module-b</module>
	</modules>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<configuration>
						<source>1.5</source>
						<target>1.5</target>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<encoding>utf-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
					<encoding>utf-8</encoding>
					<showWarnings>true</showWarnings>
					<fork>true</fork>
					<optimize>true</optimize>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<version>2.2.2</version>
				<configuration>
					<useReleaseProfile>true</useReleaseProfile>
					<releaseProfiles>complete</releaseProfiles>
					<username>${username}</username>
					<password>${password}</password>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<properties>
		<!-- Dependency(s) Versions -->
		<org.slf4j>1.7.21</org.slf4j>
		<kotlin.version>1.2.21</kotlin.version>
		<!-- Dependency(s) Versions -->
		<!-- Configurations -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<proguard.skip>true</proguard.skip>
		<debug.skip>false</debug.skip>
		<product.name>myproj</product.name>
	</properties>

</project>

1 Ответ

0 голосов
/ 29 ноября 2018

Каталог по умолчанию будет src/main/java.В вашем случае это просто src в каждом модуле.

Вы можете включить следующую строку в файл pom каждого модуля.

<sourceDirectory>${project.build.directory}/src</sourceDirectory>

Или вы можете попробовать пометить каждый src каталог как корень источников.

enter image description here

...