首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven中构建->sourceDirectory的隐式分配

Maven中构建->sourceDirectory的隐式分配
EN

Stack Overflow用户
提问于 2014-01-22 21:00:54
回答 1查看 1.6K关注 0票数 3

如果pom有一个<build>标记,但其中没有显式设置<sourceDirectory>,那么Maven是否查看根目录中是否有源代码的src目录?我之所以问这个问题,是因为我在项目中继承的一些poms确实有源代码do,还有一些没有<sourceDirectory>。只有在实际源目录不是src (例如src/java)的情况下,才有必要显式设置该值吗?

下面是一个这样的pom构建定义的示例(注意,这是pom层次结构中的子pom ):

代码语言:javascript
复制
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <configuration>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <encoding>UTF-8</encoding>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                        <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                    </manifest>
                    <manifestEntries>
                        <Internal-Build-num>1.0-mybuild-SNAPSHOT</Internal-Build-num>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

下面是buildsuperpom中的部分

代码语言:javascript
复制
<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>versions-maven-plugin</artifactId>
                <version>2.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-scm-plugin</artifactId>
                <version>1.8.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.5</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.7.2</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.3.1</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>1.8</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.1</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>native-maven-plugin</artifactId>
                <version>1.0-alpha-7</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.gmaven</groupId>
                <artifactId>gmaven-plugin</artifactId>
                <version>1.5</version>
            </plugin>
        </plugins>
    </pluginManagement>

    <plugins>
        <!-- Version numbering -->
        <plugin>
            <artifactId>maven-scm-plugin</artifactId>
            <configuration>
                <!-- TAG format -->
                <tag>${project.artifactId}-${project.version}</tag>
                <pushChanges>false</pushChanges>
            </configuration>
        </plugin>

        <!-- Version numbering -->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>versions-maven-plugin</artifactId>
            <configuration>
                <updateDependencies>true</updateDependencies>
                <generateBackupPoms>false</generateBackupPoms>
            </configuration>
        </plugin>
    </plugins>

</build>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-22 21:13:03

Maven是关于约定高于配置的,所以是的,您只需要在默认情况下指定sourceDirectory。java源代码的默认位置是:src/main/java

了解有关默认项目配置的信息:标准目录布局简介

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21293894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档