public class Demo { public static void main(String[] args) { JSONObject root = new JSONObject(); root.put("example", "001"); System.out.println(root.toJSONString()); } }
package com.example; import com.atlassian.confluence.content.render.xhtml.ConversionContext; import com.atlassian.confluence.macro.Macro; import com.atlassian.confluence.macro.MacroExecutionException; import java.util.Map; public class Helloworld implements Macro { @Override public String execute(Map<String, String> map, String s, ConversionContext conversionContext) throws MacroExecutionException { return "<h1>Hello World</h1>"; } @Override public BodyType getBodyType() { return BodyType.NONE; } @Override public OutputType getOutputType() { return OutputType.BLOCK; } }
步骤四,编译及效果查看
在命令行里运行 atlas-mvn package 命令,重新打包
1
atlas-mvn package
打包成功后,会输出类似以下的信息:
1 2 3 4 5 6
[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 11.916 s [INFO] Finished at: 2021-03-01T18:20:54+08:00 [INFO] ------------------------------------------------------------------------
切换到原来运行atlas-run的命令行窗口,你可以看到 类似以下的日志输出:
1 2 3 4 5 6 7 8 9 10 11 12 13
[INFO] [talledLocalContainer] 2021-03-01 18:21:00,379 INFO [QuickReload - Plugin Installer] [atlassian.plugin.manager.DefaultPluginManager] updatePlugin Updating plugin 'com.example.myConfluenceMacro-tests' from version '1.0.0-SNAPSHOT' to version '1.0.0-SNAPSHOT' [INFO] [talledLocalContainer] 2021-03-01 18:21:00,379 INFO [QuickReload - Plugin Installer] [atlassian.plugin.manager.DefaultPluginManager] broadcastPluginDisabling Disabling com.example.myConfluenceMacro-tests [INFO] [talledLocalContainer] 2021-03-01 18:21:01,629 INFO [QuickReload - Plugin Installer] [plugins.quickreload.install.PluginInstallerMechanic] installPluginImmediately [INFO] [talledLocalContainer] ^ [INFO] [talledLocalContainer] [INFO] [talledLocalContainer] [INFO] [talledLocalContainer] [INFO] [talledLocalContainer] [INFO] [talledLocalContainer] [INFO] [talledLocalContainer] [INFO] [talledLocalContainer] If you can type on a Dvorak keyboard can you automatically speak Esperanto and program in Lisp? [INFO] [talledLocalContainer] [INFO] [talledLocalContainer] Quick Reload Finished (2979 ms) - 'myConfluenceMacro-1.0.0-SNAPSHOT-tests.jar'
Define value for groupId: : com.example Define value for artifactId: : myConfluenceMacro Define value for version: 1.0.0-SNAPSHOT: : Define value for package: com.example: : Use OSGi Java Config: (Y/N/y/n) N: : Confirm properties configuration: groupId: com.example artifactId: myConfluenceMacro version: 1.0.0-SNAPSHOT package: com.example use OSGi Java Config: N Y: :
填写完毕后,工具会自动下载依赖的文件,需要保证网络是通的。下载创建完毕后,你会看到类似这样的输出:
1 2 3 4 5 6 7
[INFO] Project created from Archetype in dir: C:\work\demo\confluence-demo\myConfluenceMacro [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 07:15 min [INFO] Finished at: 2021-03-01T12:40:43+08:00 [INFO] ------------------------------------------------------------------------