将Java主方法的输出存储在maven属性中



我有一个java类,它加密文本并在控制台中为某些输入打印

例如

class A{
public static void main(String args[]){
sysout(encrypt(args[0],args[1]));
}

我正在我的pom.xml 中尝试以下内容

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<mainClass>com.example.A</mainClass>
<arguments>
<argument>e</argument>
<argument>abc</argument>
</arguments>
</configuration>
</plugin>

我想调用这个java类,并在构建阶段获得存储在maven变量中的加密值。以便在以后的阶段中使用。

有人能帮忙吗?

根据maven属性文档http://maven.apache.org/pom.html#Properties,属性有五种不同的风格:

  1. env.X:shell的环境变量
  2. project.x:POM中用点(.(表示的路径将包含相应元素的值
  3. settings.x:settings.xml中用点(.(表示的路径将包含相应元素的值
  4. Java系统属性:可通过Java.lang.System.getProperties((访问的所有属性
  5. x: 设置在POM中的元素内

因此,我认为您可以将加密后的值保存到主代码中的Java系统属性中,然后使用pom.xml中的${Java.encryptValue}获取它。

最新更新