Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 不同的外形激活方法会产生不同的结果?_Maven - Fatal编程技术网

Maven 不同的外形激活方法会产生不同的结果?

Maven 不同的外形激活方法会产生不同的结果?,maven,Maven,我已经使用maven大约两年了,但我认为我并不完全理解maven中的概要文件,特别是当我遇到以下问题时 我有一个maven项目,包含三个模块:secweb父模块、secweb服务模块和secweb服务模块,secweb服务模块依赖于SpringWebMVC,而secweb服务模块依赖于secweb服务模块 问题是: 1) 当我使用“mvn clean install-Dinclude”时,它工作得很好,spring-mvc.jar可以在secweb-web.war中找到 2) 当我使用“mvn干

我已经使用maven大约两年了,但我认为我并不完全理解maven中的概要文件,特别是当我遇到以下问题时

我有一个maven项目,包含三个模块:secweb父模块、secweb服务模块和secweb服务模块,secweb服务模块依赖于SpringWebMVC,而secweb服务模块依赖于secweb服务模块

问题是:

1) 当我使用“mvn clean install-Dinclude”时,它工作得很好,spring-mvc.jar可以在secweb-web.war中找到

2) 当我使用“mvn干净安装-Pinclude jar”时,它不起作用,而且在secweb-web.war中找不到spring-mvc.jar

有人知道为什么吗?当我使用个人资料时,有什么我必须注意的吗

(我知道我可以定义依赖范围,这个项目在这里只是为了演示不同配置文件激活方法的不同结果)


secweb父级的pom.xml

<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>

    <properties>
        <project.version>1.0.0</project.version>
    </properties>

    <groupId>com.mediatek.dt</groupId>
    <artifactId>secweb-parent</artifactId>
    <version>${project.version}</version>
    <packaging>pom</packaging>

    <modules>
        <module>../secweb-web</module>
        <module>../secweb-service</module>
    </modules>
</project>

4.0.0
1.0.0
com.k.dt
secweb父级
${project.version}
聚甲醛
../secweb
../secweb服务
secweb服务的pom.xml

<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.mediatek.dt</groupId>
        <artifactId>secweb-parent</artifactId>
        <version>${project.version}</version>
        <relativePath>../secweb-parent</relativePath>
    </parent>

    <artifactId>secweb-service</artifactId>

    <profiles>
        <profile>
            <id>include-jar</id>
            <activation>
                <property>
                    <name>include</name>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-webmvc</artifactId>
                    <version>2.5</version>
                </dependency>
            </dependencies>
        </profile>
    </profiles>
</project>

4.0.0
com.k.dt
secweb父级
${project.version}
../secweb父项
secweb服务
包括罐子
包括
org.springframework
SpringWebMVC
2.5
用于secweb的pom.xml

<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.mediatek.dt</groupId>
        <artifactId>secweb-parent</artifactId>
        <version>${project.version}</version>
        <relativePath>../secweb-parent</relativePath>
    </parent>

    <artifactId>secweb-web</artifactId>
    <packaging>war</packaging>

    <dependencies>
        <dependency>
            <groupId>com.mediatek.dt</groupId>
            <artifactId>secweb-service</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>
</project>

4.0.0
com.k.dt
secweb父级
${project.version}
../secweb父项
赛科网
战争
com.k.dt
secweb服务
${project.version}

您可以使用检查活动配置文件,如下例所示

change directory to the parent
e.g. cd /my/project/secweb-parent
Then execute the following command twice for comparing

mvn help:help:active-profiles

mvn help:help:active-profiles -Pinclude-jar
无论如何,重要的一点是版本,您已将其定义为1.0.0。我更喜欢使用1.0.0-SNAPSHOT

您可能会看到有关快照的更多信息

你为什么要用这个?快照版本用于正在进行开发的项目。如果您的项目依赖于正在进行开发的软件组件,那么您可以依赖快照版本,Maven将在运行构建时定期尝试从存储库下载最新的快照。类似地,如果系统的下一个版本将有一个版本“1.4”,那么在正式发布之前,您的项目将有一个版本“1.4-SNAPSHOT”

作为默认设置,Maven不会检查远程存储库上的快照版本。要依赖快照发布,用户必须明确启用使用POM中的存储库或pluginRepository元素下载快照的功能

还有一个关于stackoverflow的快照的有用问题和答案


我希望这能有所帮助。

谢谢您的回复,但我找不到与1)mvn帮助:帮助:活动配置文件和2)mvn帮助:帮助:活动配置文件-Pinclude jar的输出有什么不同。