Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
Java maven插件仅在用户偏好时运行_Java_Apache_Maven_Maven 3 - Fatal编程技术网

Java maven插件仅在用户偏好时运行

Java maven插件仅在用户偏好时运行,java,apache,maven,maven-3,Java,Apache,Maven,Maven 3,对于任何maven插件,有没有一种通用的方法可以做到这一点-基于用户偏好运行/基于属性文件禁用它 使用com.mysema.querydsl创建一个正常工作的maven插件,现在要更改的是,它只在提供特定标志/命令行选项时运行 <plugin> <groupId>com.mysema.querydsl</groupId> <artifactId>querydsl-maven-plugin</ar

对于任何maven插件,有没有一种通用的方法可以做到这一点-基于用户偏好运行/基于属性文件禁用它

使用com.mysema.querydsl创建一个正常工作的maven插件,现在要更改的是,它只在提供特定标志/命令行选项时运行

<plugin>
            <groupId>com.mysema.querydsl</groupId>
            <artifactId>querydsl-maven-plugin</artifactId>
            <version>${querydsl-maven-plugin.version}</version>
            //executions
            <configuration>
                <jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver>

                <jdbcUrl>jdbc:mysql://myurlk:port/db</jdbcUrl>
                <jdbcUser>id1</jdbcUser>
                <jdbcPassword>ccc</jdbcPassword>
                <packageName>com.sample</packageName>
                <targetFolder>${project.basedir}/src/main/java</targetFolder>
                <schemaPattern>APP</schemaPattern>
                    //goal prefix here?
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>${mysql.driver.version}</version>
                </dependency>
            </dependencies>
        </plugin>

com.mysema.querydsl
querydsl maven插件
${querydsl maven plugin.version}
//处决
com.mysql.jdbc.Driver
jdbc:mysql://myurlk:port/db
id1
ccc
com.sample
${project.basedir}/src/main/java
应用程序
//目标前缀在这里?
mysql
mysql连接器java
${mysql.driver.version}
试图添加

            <executions>
                <execution>
                 <id>execution1</id>
                  <phase>test1</phase>
                    <goals>
                        <goal>export</goal>
                    </goals>
                </execution>
            </executions>

    and a goal prefix       
                                 <goalPrefix>mysema1</goalPrefix>

死刑1
测试1
出口
和一个目标前缀
mysema1
但不起作用。想要一种方法,这样当我们做默认设置时,这个插件就不会运行了吗

mvn清洁安装

但需要添加另一个标志才能运行吗?
使用ApacheMaven 3.0.4

您是否尝试将插件执行放入Maven概要文件中?有几个触发器可以为构建启用概要文件(例如,操作系统、Java版本、属性值或命令行上的概要文件id本身)。
有关更多详细信息,请参阅。

您是否尝试将插件执行放入Maven配置文件中?有几个触发器可以为构建启用概要文件(例如,操作系统、Java版本、属性值或命令行上的概要文件id本身)。
有关详细信息,请参阅。

定义配置文件,将插件定义添加到配置文件中,并为配置文件添加属性触发器,如下所示:

<project>
  ...

  <profiles>
    <profile>
      <id>profile-id</id>
        <activation>
          <property>
            <name>myProperty</name>
          </property>
        </activation>
      <build>
        <plugins>
          <plugin>
            ...
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>

...
配置文件id
我的财产
...

当您使用
mvn clean install
构建项目时,将不会执行插件;当您使用
mvn clean install-DmyProperty
mvn clean install-Pprofile id>构建项目时,将执行插件。在第二种情况下,配置文件的属性激活触发器已过时。

定义配置文件,将插件定义添加到配置文件中,并为配置文件添加属性触发器,如下所示:

<project>
  ...

  <profiles>
    <profile>
      <id>profile-id</id>
        <activation>
          <property>
            <name>myProperty</name>
          </property>
        </activation>
      <build>
        <plugins>
          <plugin>
            ...
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>

...
配置文件id
我的财产
...

当您使用
mvn clean install
构建项目时,将不会执行插件;当您使用
mvn clean install-DmyProperty
mvn clean install-Pprofile id>构建项目时,将执行插件。在第二种情况下,配置文件的属性激活触发器已过时。

是否有一种通用方法可以对任何maven插件执行此操作-基于用户pref运行/基于属性文件禁用它?是否有一种通用方法可以对任何maven插件执行此操作-基于用户pref运行/基于属性文件禁用它?我还建议有条件地将插件执行到profile.lots中以供读取。你有一套简单的入门指南吗?只是希望插件(见问题)在默认情况下不运行,除非有特定的命令行标志?我看到它在那里,但是在如何让它在简单的步骤中工作上迷失了方向。我还建议将插件的有条件执行放在一个概要文件中。你有一套简单的入门指南吗?只是希望插件(见问题)在默认情况下不运行,除非有特定的命令行标志?我知道它在那里,但我不知道如何让它简单地工作谢谢。胜过删除部分/记住不要提交谢谢。胜过删除节/记住不提交