Java 在maven插件和调用maven项目pom之间共享属性

Java 在maven插件和调用maven项目pom之间共享属性,java,maven,plugins,pom.xml,maven-plugin,Java,Maven,Plugins,Pom.xml,Maven Plugin,我已经创建了一个Maven插件p,我想在另一个Maven项目a中使用它作为依赖项。我从Maven项目a的pom中为该插件p提供一些参数 我想根据项目A提供的参数在插件p中设置一些属性,并希望它们在项目A的pom中被引用。我该怎么做 我已经尝试在插件p中为MavenProject设置属性。如何在项目A的pom中引用它们 投影pom片段: <plugin> <groupId>sample.plugin</groupId>

我已经创建了一个Maven插件p,我想在另一个Maven项目a中使用它作为依赖项。我从Maven项目a的pom中为该插件p提供一些参数

我想根据项目A提供的参数在插件p中设置一些属性,并希望它们在项目A的pom中被引用。我该怎么做

我已经尝试在插件p中为MavenProject设置属性。如何在项目A的pom中引用它们

投影pom片段:

<plugin>
                <groupId>sample.plugin</groupId>
                <artifactId>sample-plugin</artifactId>
                <version>1.0.0-SNAPSHOT</version>
                <executions>
                  <execution>
                    <goals>
                      <goal>testing</goal>
                    </goals>
                    <configuration>
                        <param1>value1</param1>
                        <param2>value2</param2>
                    </configuration>
                  </execution>
                </executions>
</plugin>

如果我正确理解此问题,请尝试添加:

<dependencies>
   <dependency>
      <groupId>sample.plugin</groupId>
      <artifactId>sample-plugin</artifactId>
      <version>1.0.0-SNAPSHOT</version>
   </dependency>
</dependencies>

sample.plugin
示例插件
1.0.0-SNAPSHOT
pluginp
pom.xml
文件的底部,就在

我不完全确定这是否有效,因为我对Maven的了解有限,但请让我知道


祝您好运。

找到了解决方案,如果我们将${project}A作为参数添加到插件配置中,我们可以向其添加属性,这些属性可以在project A pom中引用

例:


可能需要查看一个
settings.xml
文件:这个答案是错误的。永远不要将插件作为依赖项添加。没错,插件不应该作为依赖项添加。我又因此失败了。你的方法看起来不错。您遇到了哪些问题?谢谢。我想实现的是,在项目A的pom中使用P插件中设置的属性!!我应该使用项目属性还是系统属性来访问项目中的pom?
<dependencies>
   <dependency>
      <groupId>sample.plugin</groupId>
      <artifactId>sample-plugin</artifactId>
      <version>1.0.0-SNAPSHOT</version>
   </dependency>
</dependencies>
<plugin>
                <groupId>sample.plugin</groupId>
                <artifactId>sample-plugin</artifactId>
                <version>1.0.0-SNAPSHOT</version>
                <executions>
                  <execution>
                    <goals>
                      <goal>testing</goal>
                    </goals>
                    <configuration>
                        <param1>value1</param1>
                        <param2>value2</param2>
                        <project>${project}</project>
                    </configuration>
                  </execution>
                </executions>
</plugin>
project.getProperties.setProperty("projectProperty",propertyValue);