我有一個多模塊項目,其中一些模塊有多個源目錄(一個用於手動創建代碼,另一個用於生成代碼)。Maven多源目錄模塊不工作
該項目的樣子:
Product
+-- pom.xml
+-- MagniCompCommon
+-- src/main/java
+-- src-gen
+-- pom.xml
我使用構建輔助性Maven的插件添加在src根目錄下。但是,當我通過父MV中的「mvn clean install」進行編譯時,maven不會在src-gen中編譯任何內容,也不會在它嘗試編譯src/main/java文件時將其包含在類路徑中。由於src/main/java
中的許多java代碼引用了src-gen代碼,所以編譯失敗。
這是家長的pom.xml:
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.magnicomp</groupId>
<artifactId>Product</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<modules>
<module>MagniCompCommon</module>
<module>Model</module>
<module>Common</module>
<!-- <module>Agent</module> -->
<!-- <module>Doc</module> -->
</modules>
<properties>
<!-- MagniComp common -->
<failOnMissingWebXml>false</failOnMissingWebXml>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<hibernate.version>4.3.11.Final</hibernate.version> <!-- was 4.3.10.Final -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Product specific -->
<!-- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> -->
<jersey.glassfish.version>2.21</jersey.glassfish.version>
<javax.servlet.version>3.0</javax.servlet.version>
<bouncy.version>1.51</bouncy.version>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src-gen</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<!-- Use Java 8 (default is 5) -->
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
我一直在使用${project.basedir}/src-gen
爲<source>
也試過但並沒有區別。
這裏是MagniCompCommon的pom.xml:
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.magnicomp</groupId>
<artifactId>Product</artifactId>
<version>1.0</version>
</parent>
<artifactId>MagniCompCommon</artifactId>
<packaging>jar</packaging>
.... snip ...
通過該工具在'SRC-gen'產生的那些東西? (XSD/REST/WSDL?) – khmarbaise